實例:
在C#中新建一個類庫CustomControls
新建類MathUtil
鍵入以下代碼
MathUtil
public string ApplicationName
{
get
{
return "MathUtil";
}
}
public double Sum(double x, double y)
{
return x + y;
}
在新建一個"控制台應用程序",並將CustomControls.dll導入
在Main函數中鍵入以下代碼(這是就可以調試了享受一下反射帶來的樂趣,在總結一下反射會用在那些場合就可以了)
Code
Assembly ass = Assembly.LoadFrom(@"F:\PaipaiBa\AJaxWebSite\bin\CustomControls.dll");
Module[] mods = ass.GetLoadedModules();
Type t = ass.GetType("CustomControls.MathUtil");
object obj = System.Activator.CreateInstance(t);
Type[] paramTypes = new Type[2];
paramTypes[0] = System.Type.GetType("System.Double");
paramTypes[1] = System.Type.GetType("System.Double");
MethodInfo med = t.GetMethod("Sum", paramTypes);
object[] parameters = new object[2];
parameters[0] = 5d;
parameters[1] = 4d;
object objRetval = med.Invoke(obj, parameters);
反射的作用:(Copy From Somewhere)
1.可以使用反射動態地創建類型的實例,將類型綁定到現有對象,或從現有對象中獲取類型
2.應用程序需要在運行時從某個特定的程序集中載入一個特定的類型,以便實現某個任務時可以用到反射。
3.反射主要應用與類庫,這些類庫需要知道一個類型的定義,以便提供更多的功能。