2013-02-27 145 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