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 命名空間