質問
クラスに呼び出されたメソッドからパラメーターの値を取得できるようにする必要があるコードをいくつか書いています。ParameterInfo[] 配列にたどり着く方法は知っていますが、値を取得する方法はわかりません。これは可能ですか?
もしそうなら、それは MethodInfo オブジェクトから MethodBody プロパティを使用することと関係があると思います.これにより、プロパティを含むILストリームを検査できます. Google の該当するコード。
コード
// Finds calling method from class that called into this one
public class SomeClass
{
public static void FindMethod()
{
for (int i = 1; i < frameCount; i++)
{
var frame = new StackFrame(i);
var methodInfo = frame.GetMethod();
if (methodInfo.DeclaringType != this.GetType())
{
string methodName = frame.GetMethod().Name;
var paramInfos = methodInfo.GetParameters();
// Now what?? How do I get the values from the paramInfos
break;
}
else if (i == frameCount - 1)
{
throw new TransportException("Couldn't find method name");
}
}
}
}