C 反射技術之二讀取Attribute特性

2021-05-11 07:26:04 字數 760 閱讀 1006

我們可以通過乙個類的type的getcustomattributes方法來讀取這個類上所附加的特性。

class keyattribute : attribute  //定義特性(標籤)

[keyattribute] //打上特性(標籤)

public

int key

讀取到類所對應的表的特性了,接下來我們該讀取類裡包含的屬性上所附加的columattribute特性了

private

static propertyinfo propinfos = null;

private

static list

propprimarys =

new list

();

//儲存主鍵列

private

static list

primarycolums =

new list

();

//儲存主鍵列特性

foreach (propertyinfo prop

in propinfos)

if (prop.getcustomattributes(

false)[0]

is primarykey)

}

這樣我們就可以讀取屬性裡所對應的資料庫表裡的主鍵了。

到這裡我們基本已經掌握了利用反射讀取和設定類屬性值,設計自己的特性類,利用反射讀取特性類的屬性了。

原創 C 反射知識分享之二

3 使用methodinfo 發現以下資訊 方法的名稱 返回型別 引數 訪問修飾符 如 public 或private 和實現詳細資訊 如 abstract 或virtual 等。使用 type 的getmethods 或getmethod 方法來呼叫特定的方法。example3 assembly ...

C 的反射技術詳解(二)

2。動態新增和使用型別 反射提供了由語言編譯器 例如microsoft visual basic 和jscript 用來實現隱式晚期繫結的基礎結構。繫結是查詢與唯一指定的型別相對應的宣告 即實現 的過程。由於此過程在執行時而不是在編譯時發生,所以稱作晚期繫結。visual basic 允許您在 中使...

C 反射技術應用

反 射 reflection 是.net中的重要機制,通過放射,可以在執行時獲得.net中每乙個型別 包括類 結構 委託 介面和列舉等 的成員,包括 方法 屬性 事件,以及建構函式等。還可以獲得每個成員的名稱 限定符和引數等。有了反射,即可對每乙個型別瞭如指掌。如果獲得了建構函式的資訊,即可直 接建...