reflection中文翻譯為反射,是.net中獲取執行時型別資訊的方式。
net的應用程式由幾個部分:程式集(assembly)、模組(module)、型別(class)組成。
反射提供一種程式設計的方式,讓程式設計師可以在程式執行期獲得這幾個組成部分的相關資訊。
assembly類可以獲得正在執行的裝配件資訊,也可以動態的載入裝配件,
以及在裝配件中查詢型別資訊,並建立該型別的例項。
type類可以獲得物件的型別資訊,此資訊包含物件的所有要素:方法、構造器、屬性等等,通過type類可以
得到這些要素的資訊,並且呼叫之。
methodinfo包含方法的資訊,通過這個類可以得到方法的名稱、引數、返回值等,並且可以呼叫之。
諸如此類,還有fieldinfo、
eventinfo等等,這些類都包含在system.reflection命名空間下。
獲取類中的屬性
1///
2///
獲取類中的屬性
3///
4///
所有屬性名稱
5public list getproperties(t t)
612 system.reflection.propertyinfo properties = t.gettype().getproperties(system.reflection.bindingflags.instance |system.reflection.bindingflags.public);
13if (properties.length <= 0)14
17foreach (system.reflection.propertyinfo item in
properties)
1826
else
2730}31
return
liststr;32}
3334
獲取類中的字段
3536///
37///
獲取類中的字段
38///
39///
所有欄位名稱
40public list getfields(t t)
4148 system.reflection.fieldinfo fields = t.gettype().getfields(bindingflags.nonpublic | bindingflags.public |bindingflags.instance);
49if (fields.length <= 0)50
53foreach (system.reflection.fieldinfo item in
fields)
5462
else
6366}67
return
liststr;
6869
70 }
利用反射獲取類的所有字段
以下是利用反射獲取類refpoint中所有的字段。一,refpoint類 public class refpoint public class class02 二,列印出所有類refpoint中的所有字段 refpoint refpoint01 new refpoint 3 type typeobj...
反射 獲取類及其父類中宣告的所有字段集合
關於class類中field getdeclaredfields jdk中解釋如下 返回field物件的乙個陣列,這些物件反映 此class物件所表示的類或介面所宣告的所有字段。如果存在多重繼承的情況,若要獲取包括父類中宣告的所有字段,可借助class類中classgetsuperclass 方法,...
反射 通過反射獲取類的完整結構
獲取執行時類的屬性 public class testfields 2 getdeclaredfields 能夠獲取執行時類本身中宣告的所有屬性 field fields1 clazz.getdeclaredfields for field f fields1 許可權修飾符,變數型別,變數名 獲取屬...