1

私はVSTOライブラリを主に楽しみのために見てきましたが、と呼ばInspectorれるものがあることに気づきましたInspectorClass

違いは何ですか、なぜそこにあるのですか、そしてどのようにそれを使用することができますか?(注:これらのクラスを使用してコーディングする方法についての答えを探しているのではなく、特定のアーキテクチャパターンの背後にある理論的根拠を探しています。純粋に学術的な好奇心です。)

4

1 に答える 1

1

InspectorClassCOMインターフェイスのコクラス具体的な実装)です(たとえば、メタデータ+コードを持つCOMオブジェクトです)。純粋にインターフェイス定義として存在する場合でも、直接インスタンス化できます(実際にはバックグラウンドでインスタンス化されます)。InspectorInspectorInspectorClass

InspectorClassVSTOが.NET4に相互運用機能タイプを埋め込むためのサポートを追加したため、具体的なクラスインスタンスを表すため、インスタンス化できます。使用法のサポートは*Class使用されなくなり、下位互換性のために多かれ少なかれ存在します。

つまり、実行可能コードを含めることができるInspectorのではなく、使用する必要があるということです。MSDNブログInspectorClassから:

...メタデータを埋め込むことは安全ですが、実行可能コードを含む可能性のあるものは何も埋め込みません(クラスタイプにはメタデータとコードが含まれますが、インターフェイスにはメタデータのみが含まれます

InspectorClassこのステートメントから、実行可能コードを含むものを推測できますが、含まれInspectorていません。これは純粋にインターフェイス(メタデータ)です。これは、相互運用機能タイプを埋め込むと、実装をサポートできないことを意味し*Classます。

于 2012-10-17T15:38:41.520 に答える