在運行時獲得類的自定義屬性attribute

在運行時獲得類的自定義屬性attribute
翻譯自O's REILLY的 c# essentials
這裏有一個使用反射獲得指定類型的自定義屬性的例子。
using System;
[Serializable,Obsolete]
class Test{
  static void Main(){
    Type t= typeof(Test);
    object[] caarr=t.GetCustomAttributes();
    Console.WriteLine("{0} 有 {1} 個自定義屬性 ", t , caarr.Length);
    foreach (object ca in caarr)
      Console.WriteLine(ca);
 }
}
Test類型預定義了兩種屬性,程序運行後會輸出:
  Test 有 1 個自定義屬性
  System.ObsoleteAttribute
這個演示結果顯示通過反射Serializable屬性是不能看到的,Obsolete屬性是可以看到。Serializable屬性是一個pseudo-custom屬性。Obsolete屬性是一個自定義屬性。
英漢對照: 反射reflection;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章