.NET のイントロスペクションとリフレクションの違いは何ですか
2 に答える
それらは同じ全体の 2 つの部分です。
イントロスペクションとは、クラスがそれ自体の「内部」を調べて、たとえば、メソッドが取るパラメーター、そのメンバーの名前などを確認する機能を指します。
リフレクションは、.NET がイントロスペクションを実装する方法の特定の名前です。他の言語では別の呼び方をする場合があります (C++ では、実行時の型情報について、限定的なイントロスペクション RTTI と呼びます)。
Introspection は、Reflection の代替として 2004 年に FxCop で導入されました。
FxCop 1.30 の新機能は、イントロスペクションと呼ばれる手法を使用して分析を実行するようになったことです。イントロスペクション エンジンを使用すると、分析がはるかに高速になり、マルチスレッド分析がサポートされます。以前のバージョンの Reflection エンジンとは異なり、Introspection エンジンでは、分析しているアセンブリがロックされていないため、FxCop をシャットダウンしてそれらのアセンブリの修正と再コンパイルを行う必要はありません。最後に、イントロスペクション エンジンは、リフレクション エンジンと比較して、より豊富な分析インフラストラクチャを提供します。