冷門 C 小技巧之獲取變數名稱

2022-02-24 20:49:26 字數 1062 閱讀 2548

今天在自我規範程式設計的時候,變數名匹配字串來自配置檔案,網上找了一會兒發現也有朋友在找尋這種方式,很不容易找到乙個解決方案來自

下面就是今天找到的進行詳細解答

首先需要自定義乙個靜態方法

///

///擴充套件 獲取變數名稱(字串)

/// ///

//////

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變數的變數名之擴充套件實現

很長時間沒有更新部落格了.一來最近工作比較忙,沒有時間好好研究問題,二是覺得沒有很好的材料可以寫.也有一些沒有徹底研究透的問題,寫著寫著沒有了頭緒,都扔在了草稿箱裡了.這次順帶也要更新一下部落格的模版了,現在的這個模版主體有點窄,不適合閱讀.我這個部落格現在,以後主要還是寫一些技術的東西.還是換乙個...