如何按名称获取对基类方法的 MethodReference?
我试过了
type.BaseType.Resolve().Methods;
如果我将包含基类的 dll 添加到 assemblyresolver,它会返回方法。但是如果我使用
MSILWorker.Create(OpCodes.Call, baseMethod);
(其中 baseMethod 是通过从已解析的 TypeDefinition 中获取方法找到的)生成的 IL 是不可读的,即使 Reflector 冻结并退出。
现在一些IL:
如果在类型上调用私有方法:
call instance void SomeNamespace.MyClass::RaisePropertyChanged(string)
如果在基类型上调用受保护的方法:
call instance void [OtherAssembly]BaseNamespace.BaseClass::RaisePropertyChanged(string)
那么,如何使用 Mono.Cecil 生成后者?