维护扩展上下文,并负责加载扩展。 扩展包含供数据库项目使用的 DatabaseSchemaProvider 实例。 每个数据库项目各维护一个 ExtensionManager 实例。
继承层次结构
System.Object
  Microsoft.Data.Schema.Extensibility.ExtensionManager
命名空间:  Microsoft.Data.Schema.Extensibility
程序集:  Microsoft.Data.Schema(在 Microsoft.Data.Schema.dll 中)
语法
声明
Public NotInheritable Class ExtensionManager
public sealed class ExtensionManager
public ref class ExtensionManager sealed
[<Sealed>]
type ExtensionManager =  class end
public final class ExtensionManager
ExtensionManager 类型公开以下成员。
构造函数
| 名称 | 说明 | |
|---|---|---|
| .gif) | ExtensionManager | 使用 DatabaseSchemaProvider 的限定类型名称初始化 ExtensionManager 的实例。 | 
页首
属性
| 名称 | 说明 | |
|---|---|---|
| .gif) .gif) | AllDatabaseSchemaProviderTypes | 获取所有可用数据库架构提供程序类型的列表。 | 
| .gif) | DatabaseSchemaProvider | 获取关联的数据源提供程序实例。 | 
| .gif) | Errors | 如果此管理器的创建触发了类型加载,则从加载操作中获取错误的只读集合。 | 
| .gif) .gif) | UseVisualStudioInstalledExtensionPaths | 获取或设置是否从 Visual Studio 扩展路径以及通过 AddExtensionLoadPath() 指定的任何路径加载 extension.xml 文件和扩展程序集。 | 
页首
方法
| 名称 | 说明 | |
|---|---|---|
| .gif) .gif) | AddExtensionLoadPath | 添加扩展加载路径列表的路径。 | 
| .gif) | Equals | 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。) | 
| .gif) | Finalize | 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。) | 
| .gif) | GetExtension<TInterfaceType>(Type) | 检索与提供的 Type 匹配的 ExtensionHandle<TInterfaceType>。 | 
| .gif) | GetExtension<TInterfaceType>(ExtensionHandle) | 在当前 ExtensionManager 中查找类型为 IExtension 且具有相应配置(由 ExtensionHandle 参数值作为对象标识)的扩展。 | 
| .gif) | GetExtension<TInterfaceType>(String, String) | 使用提供的程序集名称和类型名称在当前 ExtensionManager 的已加载扩展中查找某一扩展。 | 
| .gif) | GetExtensions<TInterfaceType> | 为提供的扩展接口类型返回已成功加载的扩展类型的列表。 | 
| .gif) | GetHashCode | 用作特定类型的哈希函数。 (继承自 Object。) | 
| .gif) | GetSingleExtension<TInterfaceType> | 返回一个 ExtensionHandle 对象。 | 
| .gif) | GetType | 获取当前实例的 Type。 (继承自 Object。) | 
| .gif) .gif) | InstantiateType<T>(Type) | 实例化类型并将其强制转换为接口。 | 
| .gif) .gif) | InstantiateType<T, TProxy>(Type) | 实例化类型并将其强制转换为接口。 | 
| .gif) | IsCompatibleWithCurrentProvider | 返回一个值,该值指示传递的数据服务提供程序名称或密钥是否与此 ExtensionManager 中的当前提供程序兼容。 | 
| .gif) | IsExtension<TInterfaceType>(Type) | 检查当前实例中是否存在与提供的类型匹配且无配置的有效扩展。 | 
| .gif) | IsExtension<TInterfaceType>(ExtensionHandle) | 检查提供的扩展句柄是否有效以及是否已加载到当前 ExtensionManager 中。 | 
| .gif) .gif) | LoadType | 搜索并加载在 DLL 中定义的附属类型。这些 DLL 可以位于全局程序集缓存 (GAC)、VS BaseDir 或 VSTSDB\Extensions 文件夹中。 | 
| .gif) | MemberwiseClone | 创建当前 Object 的浅表副本。 (继承自 Object。) | 
| .gif) | ToString | 返回表示当前对象的字符串。 (继承自 Object。) | 
| .gif) | TryGetSingleExtension<TInterfaceType> | 尝试获取一个所提供泛型类型的扩展。 | 
页首
备注
ExtensionManager 实例与 DatabaseSchemaProvider 的指定类型相关联。 ExtensionManager 保存 DatabaseSchemaProvider 的实例,它加载指定为与此数据服务提供程序兼容的所有扩展类型。 如果 nullnull 引用(在 Visual Basic 中为 Nothing) 指定为类型,将加载指定为具有 None 的 BindingClassification 值的那些扩展。
线程安全
此类型的任何公共 static(在 Visual Basic 中为 Shared) 成员都是线程安全的。但不保证所有实例成员都是线程安全的。
请参见
参考
Microsoft.Data.Schema.Extensibility 命名空间