程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> C#反射學習(一)續

C#反射學習(一)續

編輯:.NET實例教程
/*主要通過羅列程序集中所有的對象來實現對反射可以獲取的內容講解 Brian 2008/01/21*/
using System;
using System.Collections.Generic;
using System.Text;
using System.Reflection;

namespace ReflectionType
{
 public class Class1
 {
  [STAThread]
  static void Main(string[] args)
  {
   Console.WriteLine("列出程序集中所有類");
   Assembly Ably = Assembly.LoadFrom("ReflectionType.exe");
   Type[] tps = Ably.GetTypes();
   foreach (Type tp in tps)
   {
    Console.WriteLine(tp.Name);
   }

   Console.WriteLine("列出HelloWord中的所有方法");
   Type tpHelloWord = typeof(HelloWord);
   MethodInfo[] mInfos = tpHelloWord.GetMethods();
   foreach (MethodInfo mInfo in mInfos)
   {
    Console.WriteLine(mInfo.Name);
   }

   Console.WriteLine("列出HelloWord中的所有屬性");
   PropertyInfo[] pInfos = tpHelloWord.GetPropertIEs();
   foreach (PropertyInfo pInfo in pInfos)
   {
    Console.WriteLine(pInfo.Name);
   }

   Console.WriteLine("實例化Hello Word,並調用HelloWord方法");

   Object obj = Activator.CreateInstance(tpHelloWord);
   string[] sArray ={ "GMRBrian" };
   Object objName = Activator.CreateInstance(tpHelloWord, sArray);
   MethodInfo mSayHello = tpHelloWord.GetMethod("SayHello");
   mSayHello.Invoke(obj, null);
   mSayHello.Invoke(objName, null);
   Console.ReadLine();

   
 
  }

  
 }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved