AddInController Class
Provides access to an add-in for a variety of tasks.
Namespace: System.AddIn.Hosting
Assembly: System.AddIn (in System.AddIn.dll)
The AddInController type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | AddInEnvironment | Gets an AddInEnvironment object. |
![]() | AppDomain | Gets the application domain that contains an add-in. |
![]() | Token | Gets the token that represents the add-in. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Determines whether the specified object is equal to the current object. (Inherited from Object.) |
![]() ![]() | GetAddInController | Obtains the controller for an add-in. |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | Shutdown | Disables an add-in. |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object.) |
Use this class to perform the following tasks:
Use the AddInEnvironment property to obtain an AddInEnvironment object for an add-in. Then use that object to activate other add-ins in the same application domain and process as the original add-in.
Use the AppDomain property to obtain an AppDomain object for an add-in. Then use that object to activate other add-ins in the same application domain as the original add-in. Note that because of limitations in cross-process remoting, this scenario will not work with add-ins that are activated in a separate process.
Use the Token property to obtain an AddInToken object that represents an add-in.
Shut down an add-in with the Shutdown method.
To obtain the controller for an add-in, call the GetAddInController method and pass an instance of the add-in as its parameter.
The following example activates an add-in within the same environment as a previously activated add-in by using an AddInController object.
// 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));
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.


