亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

利用反射獲得類(lèi)的public static/const成員的值實(shí)例

 更新時(shí)間:2016年12月30日 09:04:23   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇利用反射獲得類(lèi)的public static/const成員的值實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

首先,我們定義一個(gè)類(lèi):

class CDynamic
 {
#if true
 public const string TableName = "p_battlerecord"; // OK
 //public static string TableName = "p_battlerecord"; // OK
#else
 public static string TableName   // 用屬性不行
 {
  get { return "hello"; }
 }
#endif

 public string Name { get; set; }

 public int Add(int a, int b)
 {
  return a + b;
 }
 }

寫(xiě)一個(gè)測(cè)試函數(shù):

 /// <summary>
 /// 獲取類(lèi)的public static/const成員的值
 /// </summary>
 /// <typeparam name="T"></typeparam>
 public void TestGetValue<T>()
 {
  var tableName = typeof(T).GetField("TableName").GetValue(null);
  Console.WriteLine(tableName);
 }

調(diào)用測(cè)試接口:

public void test1()
 {
#if false
  var d = new CDynamic();    // 簡(jiǎn)化演示, 未使用反射
  var add = typeof(CDynamic).GetMethod("Add");
  var ret = add.Invoke(d, new object[] { 1, 3 });
#else
  dynamic d = new CDynamic();    // 使用dynamic動(dòng)態(tài)綁定
  var ret = d.Add(1, 3);
  //d.Hello();      // 編譯通過(guò), 運(yùn)行將出錯(cuò)(未包含Hello()的定義)

  TestGetValue<CDynamic>();
#endif

  //Console.WriteLine("sum = {0}, {1}", ret, s);
 }

完成!

以上這篇利用反射獲得類(lèi)的public static/const成員的值實(shí)例就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論