AddInToken.Activate メソッド

定義

アドインをアクティブにします。

オーバーロード

名前 説明
Activate<T>(AddInEnvironment)

別のアドインの環境でアドインをアクティブにします。

Activate<T>(AddInSecurityLevel)

新しいアプリケーション ドメインで、指定した信頼レベルを持つアドインをアクティブにします。

Activate<T>(AppDomain)

既存のアプリケーション ドメインでアドインをアクティブにします。

Activate<T>(PermissionSet)

新しいアプリケーション ドメインで、指定したアクセス許可が設定されたアドインをアクティブにします。

Activate<T>(AddInProcess, AddInSecurityLevel)

外部プロセス、新しいアプリケーション ドメイン、および指定した信頼レベルでアドインをアクティブ化します。

Activate<T>(AddInProcess, PermissionSet)

外部プロセス、新しいアプリケーション ドメイン、および指定したアクセス許可セットを使用してアドインをアクティブ化します。

Activate<T>(AddInSecurityLevel, String)

名前と信頼レベルを指定して、新しいアプリケーション ドメイン内のアドインをアクティブにします。

Activate<T>(AddInEnvironment)

別のアドインの環境でアドインをアクティブにします。

public:
generic <typename T>
 T Activate(System::AddIn::Hosting::AddInEnvironment ^ environment);
public T Activate<T>(System.AddIn.Hosting.AddInEnvironment environment);
member this.Activate : System.AddIn.Hosting.AddInEnvironment -> 'T
Public Function Activate(Of T) (environment As AddInEnvironment) As T

型パラメーター

T

アドインのホスト ビューを表すインターフェイスまたは抽象基本型。

パラメーター

environment
AddInEnvironment

元のアドインを含むアプリケーション ドメインとプロセス。

返品

T

アドインのホスト ビュー。

次の例では、指定したセキュリティ レベルで自動的に生成されたアプリケーション ドメイン内の 1 つのアドインをアクティブにします。 次に、同じアプリケーション ドメイン内の 2 つ目のアドインをアクティブ化し、最初のアドインの AddInEnvironment オブジェクトを使用して最初のアドインと同じ処理を行います。

// Get the AddInController of a
// currently actived add-in (CalcAddIn).
AddInController aiController = AddInController.GetAddInController(CalcAddIn);

// Select another token.
AddInToken selectedToken2 = ChooseAddIn(tokens);

// Activate a second add-in, CalcAddIn2, in the same
// appliation domain and process as the first add-in by passing
// the first add-in's AddInEnvironment object to the Activate method.
AddInEnvironment aiEnvironment = aiController.AddInEnvironment;
Calculator CalcAddIn2 =
    selectedToken2.Activate<Calculator>(aiEnvironment);

// Get the AddInController for the second add-in to compare environments.
AddInController aiController2 = AddInController.GetAddInController(CalcAddIn2);
Console.WriteLine("Add-ins in same application domain: {0}", aiController.AppDomain.Equals(aiController2.AppDomain));
Console.WriteLine("Add-ins in same process: {0}", aiEnvironment.Process.Equals(aiController2.AddInEnvironment.Process));
' Get the AddInController of a 
' currently activated add-in (CalcAddIn).
Dim aiController As AddInController = AddInController.GetAddInController(CalcAddIn)

' Select another token.
Dim selectedToken2 As AddInToken = ChooseAddIn(tokens)

' Activate a second add-in, CalcAddIn2, in the same
' appliation domain and process as the first add-in by passing
' the first add-in's AddInEnvironment object to the Activate method.

Dim aiEnvironment As AddInEnvironment = aiController.AddInEnvironment
Dim CalcAddIn2 As Calculator =
    selectedToken2.Activate(Of Calculator)(aiEnvironment)

' Get the AddInController for the second add-in to compare environments.
Dim aiController2 As AddInController = AddInController.GetAddInController(CalcAddIn2)

Console.WriteLine("Add-ins in same application domain: {0}",
    aiController.AppDomain.Equals(aiController2.AppDomain))
Console.WriteLine("Add-ins in same process: {0}",
    aiEnvironment.Process.Equals(aiController2.AddInEnvironment.Process))

注釈

このメソッド オーバーロードは、同じアプリケーション ドメイン内のアドインをアクティブ化し、 environment が取得されたアドインと同じプロセスを実行します。

適用対象

Activate<T>(AddInSecurityLevel)

新しいアプリケーション ドメインで、指定した信頼レベルを持つアドインをアクティブにします。

public:
generic <typename T>
 T Activate(System::AddIn::Hosting::AddInSecurityLevel trustLevel);
public T Activate<T>(System.AddIn.Hosting.AddInSecurityLevel trustLevel);
member this.Activate : System.AddIn.Hosting.AddInSecurityLevel -> 'T
Public Function Activate(Of T) (trustLevel As AddInSecurityLevel) As T

型パラメーター

T

アドインのホスト ビューを表すインターフェイスまたは抽象基本型。

パラメーター

trustLevel
AddInSecurityLevel

信頼レベルを指定する列挙値の 1 つ。

返品

T

アドインのホスト ビュー。

次の例は、指定したセキュリティ レベルで自動的に生成されたアプリケーション ドメインで、選択したトークンによって識別されるアドインをアクティブ化する方法を示しています。

//Ask the user which add-in they would like to use.
AddInToken selectedToken = ChooseAddIn(tokens);

//Activate the selected AddInToken in a new
//application domain with the Internet trust level.
Calculator CalcAddIn = selectedToken.Activate<Calculator>(AddInSecurityLevel.Internet);

//Run the add-in using a custom method.
RunCalculator(CalcAddIn);
'Ask the user which add-in they would like to use.
Dim selectedToken As AddInToken = ChooseAddIn(tokens)
'Activate the selected AddInToken in a new
'application domain with the Internet trust level.
Dim CalcAddIn As Calculator = selectedToken.Activate(Of Calculator)(AddInSecurityLevel.Internet)
'Run the add-in using a custom method.
RunCalculator(CalcAddIn)

注釈

このメソッド オーバーロードは、自動的に生成されたアプリケーション ドメインにアドインを読み込みます。 新しいアプリケーション ドメインの名前を指定する場合は、 Activate<T>(AddInSecurityLevel, String) オーバーロードを使用します。

このメソッドは、アプリケーション ドメインのベース ディレクトリをアドイン アセンブリの場所に設定します。 また、構成ファイル [addinassemblyname].dll.config を検索し、見つかった場合は、新しいアプリケーション ドメインの構成ファイルに設定します。

適用対象

Activate<T>(AppDomain)

既存のアプリケーション ドメインでアドインをアクティブにします。

public:
generic <typename T>
 T Activate(AppDomain ^ target);
public T Activate<T>(AppDomain target);
member this.Activate : AppDomain -> 'T
Public Function Activate(Of T) (target As AppDomain) As T

型パラメーター

T

アドインのホスト ビューを表すインターフェイスまたは抽象基本型。

パラメーター

target
AppDomain

アドインをアクティブ化する必要があるアプリケーション ドメイン。

返品

T

アドインのホスト ビュー。

例外

完全信頼のアクセス許可が必要です。 呼び出しチェーン内の呼び出し元に十分なアクセス許可がありません。

次の例では、別のアドインで使用されているアプリケーション ドメイン内のアドインをアクティブにします。 最初のアドインのコードは、 AddInToken クラスで提供されます。

// Get the application domain
// of an existing add-in (CalcAddIn).
AddInController aiCtrl = AddInController.GetAddInController(CalcAddIn);
AppDomain AddInAppDom = aiCtrl.AppDomain;

// Activate another add-in in the same application domain.
Calculator CalcAddIn3 =
    selectedToken2.Activate<Calculator>(AddInAppDom);

// Show that CalcAddIn3 was loaded
// into CalcAddIn's application domain.
AddInController aic = AddInController.GetAddInController(CalcAddIn3);
Console.WriteLine("Add-in loaded into existing application domain: {0}",
    aic.AppDomain.Equals(AddInAppDom));
' Get the application domain
' of an existing add-in (CalcAddIn).

Dim aiCtrl As AddInController = AddInController.GetAddInController(CalcAddIn)
Dim AddInAppDom As AppDomain = aiCtrl.AppDomain

' Activate another add-in in the same appliation domain.
Dim CalcAddIn3 As Calculator = selectedToken2.Activate(Of Calculator)(AddInAppDom)

' Show that the CalcAddIn3 was loaded
' into CalcCaddIn's application domain.
Dim aic As AddInController = AddInController.GetAddInController(CalcAddIn3)
Console.WriteLine("Add-in loaded into existing application domain: {0}",
 aic.AppDomain.Equals(AddInAppDom))

注釈

自動的に生成されたアプリケーション ドメインでアドインをアクティブ化するには、 Activate<T>(AddInSecurityLevel) オーバーロードを使用して、指定したセキュリティ レベルの新しいアプリケーション ドメインを生成するか、 Activate<T>(AddInSecurityLevel, String) オーバーロードを使用してアプリケーション ドメインのフレンドリ名を含めます。

適用対象

Activate<T>(PermissionSet)

新しいアプリケーション ドメインで、指定したアクセス許可が設定されたアドインをアクティブにします。

public:
generic <typename T>
 T Activate(System::Security::PermissionSet ^ permissions);
public T Activate<T>(System.Security.PermissionSet permissions);
member this.Activate : System.Security.PermissionSet -> 'T
Public Function Activate(Of T) (permissions As PermissionSet) As T

型パラメーター

T

アドインのホスト ビューを表すインターフェイスまたは抽象基本型。

パラメーター

permissions
PermissionSet

アドインに付与されたアクセス許可。

返品

T

アドインのホスト ビュー。

例外

permissionsnullです。

注釈

このメソッド オーバーロードは、自動的に生成されたアプリケーション ドメインにアドインを読み込みます。 アプリケーション ドメインのベース ディレクトリをアドイン アセンブリの場所に設定します。 また、構成ファイル [addinassemblyname].dll.config を検索し、見つかった場合は、新しいアプリケーション ドメインの構成ファイルとして設定します。

適用対象

Activate<T>(AddInProcess, AddInSecurityLevel)

外部プロセス、新しいアプリケーション ドメイン、および指定した信頼レベルでアドインをアクティブ化します。

public:
generic <typename T>
 T Activate(System::AddIn::Hosting::AddInProcess ^ process, System::AddIn::Hosting::AddInSecurityLevel level);
public T Activate<T>(System.AddIn.Hosting.AddInProcess process, System.AddIn.Hosting.AddInSecurityLevel level);
member this.Activate : System.AddIn.Hosting.AddInProcess * System.AddIn.Hosting.AddInSecurityLevel -> 'T
Public Function Activate(Of T) (process As AddInProcess, level As AddInSecurityLevel) As T

型パラメーター

T

アドインのホスト ビューを表すインターフェイスまたは抽象基本型。

パラメーター

process
AddInProcess

アドインをアクティブにする外部プロセス。

level
AddInSecurityLevel

信頼レベルを指定する列挙値の 1 つ。

返品

T

アドインのホスト ビュー。

次の例では、新しいプロセスを作成し、完全信頼セキュリティ レベルでそのプロセスでアドインをアクティブにします。

// Create an external process.
AddInProcess pExternal = new AddInProcess();

// Activate an add-in in the external process
// with a full trust security level.
Calculator CalcAddIn4 =
    selectedToken.Activate<Calculator>(pExternal,
    AddInSecurityLevel.FullTrust);

// Show that the add-in is an external process
// by verifying that it is not in the current (host's) process.
AddInController AddinCtl = AddInController.GetAddInController(CalcAddIn4);
Console.WriteLine("Add-in in host's process: {0}",
    AddinCtl.AddInEnvironment.Process.IsCurrentProcess);
' Create an external process.
Dim pExternal As New AddInProcess()

' Activate an add-in in the external process
' with a full trust security level.
Dim CalcAddIn4 As Calculator =
    selectedToken.Activate(Of Calculator)(pExternal,
        AddInSecurityLevel.FullTrust)

' Show that the add-in is an external process
' by verifying that it is not in the current (host's) process.
Dim AddinCtl As AddInController = AddInController.GetAddInController(CalcAddIn4)
Console.WriteLine("Add-in in host's process: {0}",
 AddinCtl.AddInEnvironment.Process.IsCurrentProcess)

注釈

このメソッドは、アプリケーション ドメインのベース ディレクトリをアドイン アセンブリの場所に設定します。 また、構成ファイル [addinassemblyname].dll.config を検索し、見つかった場合は、新しいアプリケーション ドメインの構成ファイルとして設定します。

適用対象

Activate<T>(AddInProcess, PermissionSet)

外部プロセス、新しいアプリケーション ドメイン、および指定したアクセス許可セットを使用してアドインをアクティブ化します。

public:
generic <typename T>
 T Activate(System::AddIn::Hosting::AddInProcess ^ process, System::Security::PermissionSet ^ permissionSet);
public T Activate<T>(System.AddIn.Hosting.AddInProcess process, System.Security.PermissionSet permissionSet);
member this.Activate : System.AddIn.Hosting.AddInProcess * System.Security.PermissionSet -> 'T
Public Function Activate(Of T) (process As AddInProcess, permissionSet As PermissionSet) As T

型パラメーター

T

アドインのホスト ビューを表すインターフェイスまたは抽象基本型。

パラメーター

process
AddInProcess

アドインをアクティブにする外部プロセス。

permissionSet
PermissionSet

アドインに付与される必要なアクセス許可セット。

返品

T

アドインのホスト ビュー。

注釈

このメソッドは、アプリケーション ドメインのベース ディレクトリをアドイン アセンブリの場所に設定します。 また、構成ファイル [addinassemblyname].dll.config を検索し、見つかった場合は、新しいアプリケーション ドメインの構成ファイルとして設定します。

適用対象

Activate<T>(AddInSecurityLevel, String)

名前と信頼レベルを指定して、新しいアプリケーション ドメイン内のアドインをアクティブにします。

public:
generic <typename T>
 T Activate(System::AddIn::Hosting::AddInSecurityLevel trustLevel, System::String ^ appDomainName);
public T Activate<T>(System.AddIn.Hosting.AddInSecurityLevel trustLevel, string appDomainName);
member this.Activate : System.AddIn.Hosting.AddInSecurityLevel * string -> 'T
Public Function Activate(Of T) (trustLevel As AddInSecurityLevel, appDomainName As String) As T

型パラメーター

T

アドインのホスト ビューを表すインターフェイスまたは抽象基本型。

パラメーター

trustLevel
AddInSecurityLevel

信頼レベルを指定する列挙値の 1 つ。

appDomainName
String

新しいアプリケーション ドメインに割り当てるフレンドリ名。

返品

T

アドインのホスト ビュー。

注釈

アプリケーション ドメイン名を指定する必要がない場合は、 Activate<T>(AddInSecurityLevel) オーバーロードを使用します。

このメソッドは、アプリケーション ドメインのベース ディレクトリをアドイン アセンブリの場所に設定します。 また、構成ファイル [addinassemblyname].dll.config を検索し、見つかった場合は、新しいアプリケーション ドメインの構成ファイルとして設定します。

適用対象