次の方法で共有


IDTExtensibility2.OnAddInsUpdate メソッド

更新 : 2007 年 11 月

Visual Studio 統合開発環境 (IDE: Integrated Development Environment) からアドインの読み込みまたはアンロードが行われるたびに発生します。

名前空間 :  Extensibility
アセンブリ :  Extensibility (Extensibility.dll 内)

構文

'宣言
Sub OnAddInsUpdate ( _
    ByRef custom As Array _
)
'使用
Dim instance As IDTExtensibility2
Dim custom As Array

instance.OnAddInsUpdate(custom)
void OnAddInsUpdate(
    ref Array custom
)
void OnAddInsUpdate(
    [InAttribute] Array^% custom
)
function OnAddInsUpdate(
    custom : Array
)

パラメータ

  • custom
    型 : System.Array%

    アドインで使用されるホスト固有のデータを渡すために使用できる空の配列です。

解説

このメソッドは、他のアドインへの依存関係を適用するために頻繁に使用されます。つまり、アドインを正常に実行するために別のアドイン (または他のプログラム) の存在が必要な場合、このメソッドでステータスをチェックできます。

アドインは、そのセッションで初めて環境に読み込まれたとき、および [アドイン マネージャ] の [OK] がクリックされるたびに OnAddInsUpdate イベントを発生させます。コマンドまたは Connected プロパティを通じてアドインが読み込まれた場合、イベントは発生しません。

変更されたアドインの名前を取得するには、AddIns コレクションを反復処理し、各アドインの Connected プロパティをチェックします。各アドインには、アドインの ProgID または 1 から始まるインデックス値を使用してアクセスできます。インデックスが存在しない場合、"無効なインデックス" COMException エラーが発生します。それ以外の場合は AddIn 参照を返します。

Public Sub OnAddInsUpdate(ByRef custom As Array) 
    Try
        Dim addIn As AddIn = applicationObject.AddIns. _
        Item("MyAddin1.Connect")
        If addInInstance.Connected = True Then
            System.Windows.Forms.MessageBox.Show("This add-in is _
            connected.")
        Else
            System.Windows.Forms.MessageBox.Show("This add-in is not _
            connected.")
        End If
    Catch ex As Runtime.Interop.COMException
        System.Windows.Forms.MessageBox.Show("Not a registered add- _
        in.")
    End Try
End Sub
public void OnAddInsUpdate(ref Array custom)
{
    try
    {
        AddIn addIn = this.dte.addins.item("MyAddin1.Connect");
        if (addInInstance.Connected == true)
        {
            System.Windows.Forms.MessageBox.Show("This add-in is 
            connected.");
        }
        else
        {
            System.Windows.Forms.MessageBox.Show("This add-in is not 
            connected.");
        }
    }

    catch (COMException)
    {
         System.Windows.Forms.MessageBox.Show("Not a registered add-
         in.");
    }
}

アクセス許可

  • 直前の呼び出し元に対する完全な信頼。このメンバは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

参照

IDTExtensibility2 インターフェイス

IDTExtensibility2 メンバ

Extensibility 名前空間

IDTExtensibility2

OnConnection

OnDisconnection

OnBeginShutdown

OnStartupComplete

その他の技術情報

方法 : アドインを作成する