私は非常に大規模なコード ベースで作業しており、今日IL code
、通常のclass
.
出力される IL コードを含むプロジェクトは、Service Locator
MSDN Desctiptionの実装でした。
これを行うことの利点は何ですか?また、言語を使用するのではなく、なぜこれを行うのでしょうか?C#
私は非常に大規模なコード ベースで作業しており、今日IL code
、通常のclass
.
出力される IL コードを含むプロジェクトは、Service Locator
MSDN Desctiptionの実装でした。
これを行うことの利点は何ですか?また、言語を使用するのではなく、なぜこれを行うのでしょうか?C#
通常、これは実行時にのみ利用可能な情報を使用して、リフレクションを使用するオーバーヘッドを回避するために行われます。
次に、リフレクションを使用して、リフレクションを使用せずに、与えられたデータを直接操作する新しいコードを作成します。
利点:
短所:
したがって、これに着手する前に、本当に価格に見合う価値があることを確認する必要があります.
これは一般的な回答であることに注意してください。あなたが遭遇した特定のケースでは、実際にコードを見なければ、なぜこれが行われたのか、どの特定の利点(または欠点)があるのか を答える方法はありません.
これには多くの用途があります。
より頻繁に使用されるシナリオの 1 つは、オンザフライでコードを変更/挿入するためのものです
。.NET CLR インジェクション: 実行時に IL コードを変更する
良い使い方を理解するのに役立つ良いチュートリアルは次のとおりです: Dynamic... But Fast: The Tale of Three Monkeys, A Wolf and the DynamicMethod and ILGenerator Classes
幸運を