2

netoffice で IDTExtensibility2 と ComAddin を使用することにより、netoffice に技術的な利点はありますか? それとも、両方とも同じことを達成しますか (パスは異なりますが)?

ComAddin が IDTExtensibility2 インターフェイスから継承されていることは承知しています。私の質問は単純だと思いますが、なぜ ComAddin クラスからではなく、インターフェイスから直接継承するのでしょうか? もっとコントロール?

4

2 に答える 2

3

NetOffice は、PIA や VSTO を使用しないか、動作します (必要ありません)。これは、NetOffice の利点の 1 つです。

IDTExtensibility2 インターフェイスは、MS-Office の COM ベースのアドインの共通インターフェイスです。Office アプリケーションは、(レジストリ情報に基づいて) アドインからインスタンスを作成し、このインターフェイスを介してアドインと通信します。これらのインターフェースを実装するだけでオフィスアドインを作成できます。(すべてのソリューション、addin Express、vsto、netoffice は舞台裏でこれを行います)

NetOffice の COMAddin 基本クラスは、IDTExtensibility2 インターフェイスを介して Office を処理し、一般的なインフラストラクチャ タスク (登録/登録解除など) を処理する最上位のラッパーです。VSTO は基本的に同じことを行いますが、ここに基底クラスが表示されることはありません (codeprovider マジックの間ですが、IL Spy または Reflector でこれを確認できます)。

COMAddin 基本クラスを使用すると、Office アドインを作成し、インフラストラクチャ コードを減らして VSTO に慣れるのが少し簡単になります。これが全体の考え方です。それを使用するあなたの選択。例外的な要件がない場合、私が見つけたものは良い考えです。

于 2015-02-13T02:37:31.040 に答える