次の方法で共有


複数のバージョンの Outlook を使用する場合の遅延バインディングの使用

Outlook プライマリ相互運用機能アセンブリ (PIA) を使用するマネージ Outlook アドインは、PIA が提供する型情報でコンパイルされます。 このメソッドとプロパティに関する型情報の事前バインドにより、コンパイラで型と構文のチェックを実行できるようになり、メソッドやプロパティに渡されるパラメーターの数と型に間違いがないことと、期待された型の値が返されることが保証されます。

ただし、事前バインディングには、アドインが呼び出すメソッドまたはプロパティが、以前のバージョンの異なる宣言を持っている場合、バージョン間の互換性がないという欠点があります。 たとえば、新しいメソッドおよびプロパティを追加する、または既存のオブジェクトのメンバーを変更すると、オブジェクトのバイナリ レイアウトが変更され、より新しい型情報を使用して以前のバージョンの Outlook を自動化するマネージ アドインで問題が発生する場合があります。

そのような場合、遅延バインドでは、実行時まで待機してからオブジェクトにプロパティとメソッドの呼出しをバインドします。 遅延バインディングは、Outlook のさまざまなバージョンで異なる型による混乱を防ぐことができ、複数のバージョンの Outlook を使用するアドインを記述するときに特に役立ちます。

遅延バインディングでは、Outlook によって実装される IDispatch インターフェイスを呼び出すアドインを使用します。 Visual C# で遅延バインディングを使用するには、 System.Type.InvokeMember メソッドを使用します。 このメソッドは、IDispatch::GetIDsOfNamesIDispatch::Invoke を呼び出して、Outlook のメソッドとプロパティをバインドします。 IDispatch::GetIDsOfNames メソッドを使用すると、Visual C# でサポートされているメソッドとプロパティと IDispatch::Invoke メソッドに関するオブジェクトを問い合わせてください。その後、Visual C# でこれらのメソッドとプロパティを呼び出すことができます。

関連項目