ExtensionManager Class
Maintains an extension context and is responsible for loading extensions. Extensions include the DatabaseSchemaProvider instance that is used by a database project. Each database project maintains a single ExtensionManager instance.
Inheritance Hierarchy
System.Object
Microsoft.Data.Schema.Extensibility.ExtensionManager
Namespace: Microsoft.Data.Schema.Extensibility
Assembly: Microsoft.Data.Schema (in Microsoft.Data.Schema.dll)
Syntax
'Declaration
Public NotInheritable Class ExtensionManager
public sealed class ExtensionManager
public ref class ExtensionManager sealed
[<Sealed>]
type ExtensionManager = class end
public final class ExtensionManager
The ExtensionManager type exposes the following members.
Constructors
Name | Description | |
---|---|---|
ExtensionManager | Initializes an instance of ExtensionManager by using the qualified type name of the DatabaseSchemaProvider. |
Top
Properties
Name | Description | |
---|---|---|
AllDatabaseSchemaProviderTypes | Gets a list of all available database schema provider types. | |
DatabaseSchemaProvider | Gets the associated data source provider instance. | |
Errors | Gets a read-only collection of errors from the loading operation if the creation of this manager triggered the type load. | |
UseVisualStudioInstalledExtensionPaths | Gets or sets whether to load extension.xml files and extension assemblies from the Visual Studio extensions path(s) and also to any paths that are specified through AddExtensionLoadPath(). |
Top
Methods
Name | Description | |
---|---|---|
AddExtensionLoadPath | Adds a path of the list of extension load paths. | |
Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetExtension<TInterfaceType>(Type) | Retrieves an ExtensionHandle<TInterfaceType> that matches the provided Type. | |
GetExtension<TInterfaceType>(ExtensionHandle) | Finds an extension in the current ExtensionManager of type IExtension and configuration as the object that is identified by the ExtensionHandle parameter value. | |
GetExtension<TInterfaceType>(String, String) | Finds an extension from loaded extensions in the current ExtensionManager by using the provided assembly name and type name. | |
GetExtensions<TInterfaceType> | Returns a list of the extension types for the provided extension interface type that have loaded successfully. | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetSingleExtension<TInterfaceType> | Returns a single ExtensionHandle object. | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
InstantiateType<T>(Type) | Instantiates a type and casts it as an interface. | |
InstantiateType<T, TProxy>(Type) | Instantiates a type and casts it as an interface. | |
IsCompatibleWithCurrentProvider | Returns a value that indicates whether passing a Data Services Provider name or key is compatible with the current provider in this ExtensionManager. | |
IsExtension<TInterfaceType>(Type) | Checks whether a valid extension occurs that matches the provided type, and that does not have a configuration in the current instance. | |
IsExtension<TInterfaceType>(ExtensionHandle) | Checks whether the provided extension handle is valid and is loaded into the current ExtensionManager. | |
LoadType | Searches for and loads satellite types that are defined in DLLs. These DLLs can be located in the global assembly cache (GAC), the VS BaseDir, or the VSTSDB\Extensions folder. | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) | |
TryGetSingleExtension<TInterfaceType> | Tries to acquire a single extension of the provided Generic type. |
Top
Remarks
The ExtensionManager instance is associated with a specified type of DatabaseSchemaProvider. The ExtensionManager holds an instance of DatabaseSchemaProvider, and it loads all extension types that are specified as compatible with this Data Service Provider. If nulla null reference (Nothing in Visual Basic) is specified as the type, those extensions that are specified to have a BindingClassification value of None will be loaded.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also
Reference
Microsoft.Data.Schema.Extensibility Namespace