基本クラスのメソッドへの MethodReference を名前で取得するにはどうすればよいですか?
私はもう試した
type.BaseType.Resolve().Methods;
基本クラスを含む dll を assemblyresolver に追加すると、メソッドが返されます。しかし、使用して呼び出しを追加すると
MSILWorker.Create(OpCodes.Call, baseMethod);
(baseMethod は、解決された TypeDefinition からメソッドを foreach することによって検出されました) 結果の IL は読み取り不能であり、Reflector がフリーズして終了することさえあります。
今いくつかの IL:
タイプでプライベート メソッドを呼び出す場合:
call instance void SomeNamespace.MyClass::RaisePropertyChanged(string)
基本型で保護されたメソッドを呼び出す場合:
call instance void [OtherAssembly]BaseNamespace.BaseClass::RaisePropertyChanged(string)
では、Mono.Cecil を使用して後者を作成するにはどうすればよいでしょうか。