2011-09-28 68 views
4

我在C#中編寫了一個像這樣的方法。方法參數C#

MethodBase method = MethodBase.GetCurrentMethod(); 
string key =""; 
for (int i = 0; i < method.GetParameters().Length; i++) 
{ 
    key=method.GetParameters().Name; 
    // need value of parameter here    
} 

我通過上面的代碼獲取參數名稱。我的問題是:我如何獲取正在接近我的方法的參數值?

回答

5

您不能 - 至少不能使用調試器API(這顯然不是微不足道的)。該信息無法通過反思獲得。特別是,您提取的MethodBase對象可能在每次調用時都是同一個對象。

(我不認爲你寫的方法是相當如你要麼顯示,我真的希望而不是調用GetParameters像這樣的循環中,但是這是一個枝節問題)

+0

首先,感謝您的關注。如您所述,如何使用調試器API編寫代碼? – Selo

+0

@Selo:這不是我用過的東西,但看看[這樣的頁面](http://www.developerfusion.com/article/4692/how-the-net-debugger-works/) - 我不知道它爲.NET 4改變了多少。 –