分享一下自己寫的使用反射的例子,包括根據名字獲取屬性值、字段(類的示例對,如自己申明的類或者list等)、呼叫函式(無參、有參),介面如下:
貼上**:
namespace以上僅供參考relectiontest
public
int age = 16
;
public men li = new men("李四"
);private int weight = 110;
public list friends =new list();
public list friendage = new list() ;
}public
class
men
}}namespace
relectiontest
private
void button1_click(object
sender, eventargs e)
//獲取list值
fieldinfo fa = t.getfield("
friendage
");//
list型別
var list = fa.getvalue(person) as ienumerable;
foreach(var aa in
list)
//獲取字段值
fieldinfo age = t.getfield("
age"
);\n");
//獲取字段值
fieldinfo man = t.getfield("li"
);as men).name + "\n"
);
//獲取所有字段
fieldinfo fis =t.getfields();
foreach (var item in
fis)
}public
void func1(string
str)
public
void func2(listlist)
}//根據方法名呼叫方法,引數為list時
public
void callfunc(string funcname,ienumerablelist)
;methodinfo.invoke(
this
, obj);
}//根據方法名呼叫方法,引數為string時
public
void callfunc(string
funcname)
;methodinfo.invoke(
this
, obj);
}public
void
do()
private
void button2_click(object
sender, eventargs e)
public
void initclass(type type, int count)//
根據類例項對應個數}}
public
abstract
class
animal
public
class
dot : animal
}
python反射示例
本文用到的檔案test.py,person.py,sqlserverhelper.py,mysqlhelper.py所在的工程如下圖 person.py檔案內容 class person def init self self.name python def getname self return s...
c 反射的使用
獲取具有指定名稱的type,執行區分大小寫的搜尋。tips gettype包括object.gettype 和type.gettype6個過載靜態方法 type ty type.gettype exthomeexpansion.view.zyl 通過引導程式集也可以獲得對應類的型別 其中load方法...
C 反射的使用
使用反射的主要目的在於動態建立物件,由於物件存在於不同的程式集中,因此在動態建立物件時不但需要知道物件名稱,還需要物件所在的程式集路徑,應用而生出現了反射幫助我們解決了此問題。1.在程式執行時,動態獲取 程式集,型別 class,inte ce 和型別的成員資訊 方法,字段,屬性等 2.在程式執行時...