今天在自我規範程式設計的時候,變數名匹配字串來自配置檔案,網上找了一會兒發現也有朋友在找尋這種方式,很不容易找到乙個解決方案來自
下面就是今天找到的進行詳細解答
首先需要自定義乙個靜態方法
//////擴充套件 獲取變數名稱(字串)
/// ///
//////
return string
public
static
string getvarname(this t var_name, system.linq.expressions.expression>exp)
//////獲取變數名稱
/// ///
///return string
public
static
string getvarname(system.linq.expressions.expression>exp)
下面是擴充套件的呼叫演示
bool test_name = true; //變數型別可隨意
string tips = test_name.getvarname(it => test_name);
執行只能是你要返回變數,區域性變數隨意。不能在匿名方法裡寫其它否則報錯。
(以下錯誤演示)
bool test_name = true;
string tips = test_name.getvarname(it => 1==1);
很多有經驗的it朋友應該也發現了實現原理,利用了lambda表示式。
上述呼叫看起來引數有點過剩,個人習慣。
下面是非擴充套件的呼叫演示
bool test_name = true;
string tips = 類名.getvarname(it => test_name);
看起來好像跟上面的區別也僅是用什麼點出這個方法,所以這個就得看個人習慣
個人認為在it上還是菜鳥,第一次寫部落格,我就不多說了,上述經過測試,並未測試完全。希望有其它意見的朋友指正!
冷門 C 小技巧之獲取變數名稱 二
哈哈哈,我又回來了!但實際應用場景往往是多變的,在某些特定情況下 nameof 就無法滿足相關需求,廢話不多說上場景 1.常規做mvc物件認證的時候 我的某個屬性是實體物件 例如basicinfo 假設 當前basicinfo中存在name屬性 在實際應用場景中 mvc物件認證輸出 basicinf...
以string型別獲取變數名稱
描述問題 條件 int i string str string.empty 目的 str i 一般的變數名稱還沒有找到合適的方法,只能獲取對於class中成員變數的名稱。類 test中有成員變數a b class test 獲取類test的fields陣列 system.reflection.fie...
怎麼樣獲取PHP變數的變數名之擴充套件實現
很長時間沒有更新部落格了.一來最近工作比較忙,沒有時間好好研究問題,二是覺得沒有很好的材料可以寫.也有一些沒有徹底研究透的問題,寫著寫著沒有了頭緒,都扔在了草稿箱裡了.這次順帶也要更新一下部落格的模版了,現在的這個模版主體有點窄,不適合閱讀.我這個部落格現在,以後主要還是寫一些技術的東西.還是換乙個...