c 反射的使用

2021-06-29 03:47:00 字數 937 閱讀 2909

//獲取具有指定名稱的type,執行區分大小寫的搜尋。

//tips:gettype包括object.gettype()和type.gettype6個過載靜態方法

type ty = type.gettype("exthomeexpansion.view.zyl");

//通過引導程式集也可以獲得對應類的型別

//其中load方法後面直接加上引用程式集的fullname

//type ty=assembly.load("exthomeexpansion").gettype("exthomeexpansion.view.class1");

//使用指定型別的預設建構函式來建立該型別的例項。

object

obj = activator.createinstance

(ty);

//獲取方法的資訊,這裡的方法名為geta

methodinfo method = ty.getmethod("geta");

//呼叫方法的一些標誌位,這裡的含義是public並且是例項方法,這也是預設的值

bindingflags flag = bindingflags.public | bindingflags.instance;

//方法的引數

object parameters = null;

//呼叫方法,用乙個object接收返回值

object

returnvalue = method.invoke

(obj, flag, type.defaultbinder, parameters, null);

//獲取屬性資訊

propertyinfo pi = ty.getproperty("b");

object

ot = pi.getvalue

(obj, null);

C 反射的使用

使用反射的主要目的在於動態建立物件,由於物件存在於不同的程式集中,因此在動態建立物件時不但需要知道物件名稱,還需要物件所在的程式集路徑,應用而生出現了反射幫助我們解決了此問題。1.在程式執行時,動態獲取 程式集,型別 class,inte ce 和型別的成員資訊 方法,字段,屬性等 2.在程式執行時...

C 反射的使用

using system.reflection region 反射方法 根據路徑名稱反射指定方法 程式集名稱 類名稱 從程式集開始索引,如 bll.demo.demo 方法名 方法引數 public static string reflectionmethodfromname string asse...

C 反射使用示例

分享一下自己寫的使用反射的例子,包括根據名字獲取屬性值 字段 類的示例對,如自己申明的類或者list等 呼叫函式 無參 有參 介面如下 貼上 namespace relectiontest public int age 16 public men li new men 李四 private int ...