获取ParameterInfo参数的参考

时间:2012-05-18 18:24:43

标签: c# reflection stack

我有方法

     public void SomeMethod(string PersonName,int Age)
     {

        // get call stack
        StackTrace stackTrace = new StackTrace();

        // should equal "SomeMethod"
        var MethodName = stackTrace.GetFrame(0).GetMethod().Name;

        // should be ParameterInfo of parameter "PersonName"
        var firstParam = stackTrace.GetFrame(0).GetMethod().GetParameters()[0];

        // Here is where I get stuck !!!!!!!
        var t = firstParam.GetValue();

我怎样才能获得对firstParam参数指向的位置的引用以获得它的值?

我知道我可以通过PersonName获得它,但我想通过firstParam重新获取该信息。

1 个答案:

答案 0 :(得分:3)

反射信息不包含有关对象当前状态的数据,只包含参数信息的元数据。即使你有一个PropertyInfo类,你也必须提供一个对象,使其具有值的任何含义。你最好只使用提供的参数值。