我正在构建一个 v4.5 C#/.NET 应用程序,并且必须找到哪些方法依赖于某个方法。我想列出这些方法。
例如,如果我在一个类中有一个方法,并且该方法使用另一种方法:
public void Test()
{
CallMethodA();
CallMethodB();
}
当我将方法传递Test
给我的应用程序时,我希望它通过反射打印出 CallMethodA 和 CallMethodB。
到目前为止,我已经创建了这个:
MethodBase methodBase = typeof(TestClass).GetMethod("Test");
var instructions = MethodBodyReader.GetInstructions(methodBase);
foreach (Instruction instruction in instructions)
{
MethodInfo methodInfo = instruction.Operand as MethodInfo;
if(methodInfo != null)
{
}
}