これが可能かどうかさえわからないので、そうでない場合は申し訳ありません。私はかなり広範囲にグーグルで検索しましたが、探しているものが見つかりませんでした。
基本的に、サードパーティによって作成されたアプリケーションがありますが、これは完全に率直に言ってゴミです。特定の問題があり、ILSpy を使用して DLL 内のメソッドに問題を追跡することができました。明らかに、私たちはソース コードを持っておらず (入手することもできず)、問題の会社は妥当な時間内に問題を修正することを望んでいません。
そのため、さまざまな調査手段を調査しましたが、何も見つかりませんでした。これがリフレクションを使用して実行できるかどうかを調べてきましたが、これが機能する最後の希望です。一言で言えば、私がやりたいことは次のとおりです。
- 既存の DLL と同じ名前の単純なクラス ライブラリを作成します。
- リフレクションを使用して既存の DLL からメソッドをインポートする
- どういうわけか、問題のメソッドを自分の正しいコードでオーバーライドします
- コードを再構築して、既存の DLL の機能の 99% を含む新しい DLL を作成しますが、オーバーライド コードは正しい機能を提供します。
調査中に TypeBuilder.DefineMethodOverride と StackOverflow のページを見つけました。これは似ているように見えますが、探しているものとはまったく異なります。
http://msdn.microsoft.com/en-us/library/system.reflection.emit.typebuilder.definemethodoverride.aspx
リフレクションでメソッドを「オーバーライド」する方法はありますか?
アドバイスをいただければ幸いです。
アンドリュー
編集
他に考えられるアイデアは、オーバーライド関数を含む部分クラスを作成することでしたが、それも実行可能ではないように思われました。