ExtensionManager 類別

維護擴充內容,而且負責載入擴充。 擴充包括資料庫專案所使用的 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 型別會公開下列成員。

建構函式

  名稱 說明
公用方法 ExtensionManager 使用 DatabaseSchemaProvider 的限定型別名稱,初始化 ExtensionManager 類別的執行個體。

回頁首

屬性

  名稱 說明
公用屬性靜態成員 AllDatabaseSchemaProviderTypes 取得所有可用資料庫結構描述提供者型別的清單。
公用屬性 DatabaseSchemaProvider 取得關聯的資料來源提供者執行個體。
公用屬性 Errors 如果建立這個管理員時觸發型別載入,則取得載入作業的唯讀錯誤集合。
公用屬性靜態成員 UseVisualStudioInstalledExtensionPaths 取得或設定是否從 Visual Studio 擴充路徑以及透過 AddExtensionLoadPath() 指定的任何路徑中,載入 extension.xml 檔案和擴充組件。

回頁首

方法

  名稱 說明
公用方法靜態成員 AddExtensionLoadPath 加入擴充載入路徑清單的路徑。
公用方法 Equals 判斷指定的 Object 和目前的 Object 是否相等。 (繼承自 Object)。
受保護的方法 Finalize 允許物件在記憶體回收進行回收之前,嘗試釋放資源並執行其他清除作業。 (繼承自 Object)。
公用方法 GetExtension<TInterfaceType>(Type) 擷取 ExtensionHandle<TInterfaceType>,其符合提供的 Type
公用方法 GetExtension<TInterfaceType>(ExtensionHandle) 尋找目前 ExtensionManager (型別為 IExtension 且做為 ExtensionHandle 參數值所識別之物件的組態) 中的擴充。
公用方法 GetExtension<TInterfaceType>(String, String) 使用提供的組件名稱和型別名稱,尋找目前 ExtensionManager 中已載入擴充的擴充。
公用方法 GetExtensions<TInterfaceType> 針對已提供且順利載入的擴充介面型別,傳回擴充型別的清單。
公用方法 GetHashCode 做為特定型別的雜湊函式。 (繼承自 Object)。
公用方法 GetSingleExtension<TInterfaceType> 傳回單一 ExtensionHandle 物件。
公用方法 GetType 取得目前執行個體的 Type。 (繼承自 Object)。
公用方法靜態成員 InstantiateType<T>(Type) 具現化型別,並將型別轉換為介面。
公用方法靜態成員 InstantiateType<T, TProxy>(Type) 具現化型別,並將型別轉換為介面。
公用方法 IsCompatibleWithCurrentProvider 傳回值,這個值表示傳遞資料服務提供者名稱或索引鍵是否與這個 ExtensionManager 中的目前提供者相容。
公用方法 IsExtension<TInterfaceType>(Type) 檢查是否出現有效的擴充,這個擴充符合提供的型別,而且在目前的執行個體中沒有組態。
公用方法 IsExtension<TInterfaceType>(ExtensionHandle) 檢查提供的擴充控制代碼是否有效,而且已載入至目前的 ExtensionManager。
公用方法靜態成員 LoadType 搜尋並載入 DLL 中所定義的附屬型別。這些 DLL 可以位於全域組件快取 (GAC)、VS BaseDir 或 VSTSDB\Extensions 資料夾中。
受保護的方法 MemberwiseClone 建立目前 Object 的淺層複本 (Shallow Copy)。 (繼承自 Object)。
公用方法 ToString 傳回表示目前物件的字串。 (繼承自 Object)。
公用方法 TryGetSingleExtension<TInterfaceType> 嘗試取得所提供泛型型別的單一擴充。

回頁首

備註

ExtensionManager 執行個體與指定的 DatabaseSchemaProvider 型別相關聯。 ExtensionManager 會保留 DatabaseSchemaProvider 的執行個體,而且會載入所有指定與此資料服務提供者相容的延伸型別。 如果指定 nullNull 參照 (即 Visual Basic 中的 Nothing) 為型別,則會載入指定 None 値為 BindingClassification 的擴充。

執行緒安全

這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。

請參閱

參考

Microsoft.Data.Schema.Extensibility 命名空間

DatabaseSchemaProvider

BindingClassification

其他資源

擴充 Visual Studio 的資料庫功能