利用反射獲得類的public static/const成員的值實例
更新時間:2016年12月30日 09:04:23 投稿:jingxian
下面小編就為大家?guī)硪黄梅瓷浍@得類的public static/const成員的值實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
首先,我們定義一個類:
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; } }
寫一個測試函數(shù):
/// <summary> /// 獲取類的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)用測試接口:
public void test1() { #if false var d = new CDynamic(); // 簡化演示, 未使用反射 var add = typeof(CDynamic).GetMethod("Add"); var ret = add.Invoke(d, new object[] { 1, 3 }); #else dynamic d = new CDynamic(); // 使用dynamic動態(tài)綁定 var ret = d.Add(1, 3); //d.Hello(); // 編譯通過, 運行將出錯(未包含Hello()的定義) TestGetValue<CDynamic>(); #endif //Console.WriteLine("sum = {0}, {1}", ret, s); }
完成!
以上這篇利用反射獲得類的public static/const成員的值實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關(guān)文章
C語言模式實現(xiàn)C++繼承和多態(tài)的實例代碼
本篇文章主要介紹了C語言模式實現(xiàn)C++繼承和多態(tài)的實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07C語言 解決不用+、-、×、÷數(shù)字運算符做加法的實現(xiàn)方法
本篇文章是對在C語言中解決不用+、-、×、÷數(shù)字運算符做加法的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C++中AVL樹的底層以及實現(xiàn)方法總結(jié)
這篇文章主要介紹了C++中AVL樹的底層以及實現(xiàn)方法的相關(guān)資料,AVL樹是一種自平衡的二叉搜索樹,每個節(jié)點的左右子樹高度差不超過1,通過旋轉(zhuǎn)操作保持平衡,詳解了AVL樹的結(jié)構(gòu)、插入、旋轉(zhuǎn)、查找和遍歷方法,展示了其保持平衡的機制及對應(yīng)代碼實現(xiàn),需要的朋友可以參考下2024-10-10用c++實現(xiàn)將文本每個單詞首字母轉(zhuǎn)換為大寫
本篇文章是對用c++實現(xiàn)將文本每個單詞首字母轉(zhuǎn)換為大寫的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05淺談C++內(nèi)存分配及變長數(shù)組的動態(tài)分配
下面小編就為大家?guī)硪黄獪\談C++內(nèi)存分配及變長數(shù)組的動態(tài)分配。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-09-09