反射dll獲取類屬性方法

2021-09-08 20:00:48 字數 1376 閱讀 3014

assembly asb = assembly.loadfrom(directory.getcurrentdirectory() + "/document.dll");

//獲取程式集下面的document類

type document = asb.gettype("document.document");

//例項化document類物件(有引數的話需要傳遞object引數)

object docobj = activator.createinstance(document);

//獲取document類中的方法

methodinfo mi = document.getmethod("getname");

//引數

object parameter = new object ;

console.writeline(mi.invoke(docobj, parameter).tostring());//輸出方法的返回值:張三

//獲取document類中的屬性

fieldinfo pi = document.getfield("name");

console.writeline(pi.getvalue(docobj));//輸出方法的屬性:李四

console.readkey();

//呼叫沒有返回值的方法

type.invokemember("display",bindingflags.invokemethod | bindingflags.public | bindingflags.instance , null , obj , new object);

//呼叫有返回值的方法

int i = (int)type.invokemember("getint",bindingflags.invokemethod | bindingflags.public | bindingflags.instance,null,obj,new object);

/設定屬性值

type.invokemember("name",bindingflags.setproperty,null,obj,new string);

//獲取屬性值

string str=(string)type.invokemember("name",bindingflags.getproperty,null,obj,null);

//設定字段值

type.invokemember("field1",bindingflags.setfield,null,obj,new object);

//獲取字段值

int f=(int)type.invokemember("field1",bindingflags.getfield,null,obj,null);

java Field 類屬性反射

這裡簡單的介紹一下有關目標類的各種反射方法 首先我們準備乙個實體類fieldentity package field public class fieldentity implements fieldparent public void setid integer id public string ...

C 反射機制來獲取類 屬性的描述

namespace demo one 對於位置引數,通常只提供get訪問器 public string recordtype public string author public datetime date 構建乙個屬性,在特性中也叫 命名引數 public string memo set 我們發...

C 反射機制來獲取類 屬性的描述

通過c 反射獲取類和類中屬性的描述資訊 自定義特性 system.serializable system.attributeusage attributetargets.class attributetargets.method,allowmultiple true,inherited false ...