2013-02-27 150 views
9

我正在使用下面的代碼來獲取方法中的調用方法名稱及其參數。如何獲取ParameterInfo值?

var stackTrace = new StackTrace(); 
var methodName = stackTrace.GetFrame(1).GetMethod().Name; 
var parameters = stackTrace.GetFrame(1).GetMethod().GetParameters(); 

foreach (var parameterInfo in parameters) 
{ 
    var name = parameterInfo.Name; 
    var value = "How to get value?"; 
} 

現在我的問題是獲取該參數的值。 任何想法?

+0

可能的重複[是否有可能獲取參數的每個幀在.NET調用堆棧中的值](http://stackoverflow.com/questions/819576/is-it-possible-to-get-parameters-值換每幀-中的呼叫堆疊在網) – Habib 2013-02-27 10:30:29

回答

1

有沒有簡單的方法做到這一點。我見過的唯一工作方法是嚮應用程序添加代碼,將外部調試器附加到自身並讀取堆棧信息。約翰羅賓斯顯示這是他的book使用修改來源MDBG