C 反射使用示例

2022-06-30 20:12:12 字數 1742 閱讀 8414

分享一下自己寫的使用反射的例子,包括根據名字獲取屬性值、字段(類的示例對,如自己申明的類或者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.在程式執行時...