FeatureManager 類別
管理功能提供者和功能連接器。
繼承階層架構
System.Object
Microsoft.Windows.Design.Features.FeatureManager
命名空間: Microsoft.Windows.Design.Features
組件: Microsoft.Windows.Design.Extensibility (在 Microsoft.Windows.Design.Extensibility.dll 中)
語法
'宣告
Public Class FeatureManager _
Implements IDisposable
public class FeatureManager : IDisposable
public ref class FeatureManager : IDisposable
type FeatureManager =
class
interface IDisposable
end
public class FeatureManager implements IDisposable
FeatureManager 型別會公開下列成員。
建構函式
名稱 | 說明 | |
---|---|---|
FeatureManager | 初始化 FeatureManager 類別的新執行個體。 |
回頁首
屬性
名稱 | 說明 | |
---|---|---|
Context | 取得這個功能管理員的編輯內容。 | |
MetadataProvider | 取得或設定可以為這個功能管理員提供型別中繼資料的自訂中繼資料提供者。 | |
PendingConnectors | 會取得尚未啟動之所有連接器的列舉,這些連接器都在等候內容項目或服務。 | |
RunningConnectors | 取得目前執行中之所有連接器的列舉。 |
回頁首
方法
名稱 | 說明 | |
---|---|---|
CreateFeatureProviders(Type) | 建立並傳回一組指定之型別的功能提供者。 | |
CreateFeatureProviders(Type, Predicate<Type>) | 建立並傳回一組指定之型別的功能提供者。 | |
CreateFeatureProviders(Type, Type) | 建立並傳回一組指定之型別的功能提供者。 | |
CreateFeatureProviders(Type, Type, Predicate<Type>) | 建立並傳回一組指定之型別的功能提供者。 | |
Dispose() | 釋放 FeatureManager 使用的所有資源。 | |
Dispose(Boolean) | 處置所有執行中的功能提供者。 | |
Equals | 判斷指定的 Object 和目前的 Object 是否相等。 (繼承自 Object)。 | |
Finalize | 呼叫 Dispose 的完成項。 (覆寫 Object.Finalize()。) | |
GetCustomAttributes | 列舉指定之型別上的屬性。 | |
GetHashCode | 做為特定型別的雜湊函式。 (繼承自 Object)。 | |
GetType | 取得目前執行個體的 Type。 (繼承自 Object)。 | |
InitializeFeatures | 初始化根據指定型別定義的功能提供者之所有功能連接器。 | |
MemberwiseClone | 建立目前 Object 的淺層複本 (Shallow Copy)。 (繼承自 Object)。 | |
OnFeatureAvailable | 引發 FeatureAvailable 事件。 | |
ToString | 傳回表示目前物件的字串。 (繼承自 Object)。 |
回頁首
事件
名稱 | 說明 | |
---|---|---|
FeatureAvailable | 發生於可以使用功能的新型別時。 |
回頁首
擴充方法
名稱 | 說明 | |
---|---|---|
CreateFeatureProviders(Type, ModelItem) | 多載。 建立指定之型別和模型項目的功能提供者。 (以 FeatureExtensions 定義。) | |
CreateFeatureProviders(Type, ModelItem, Predicate<Type>) | 多載。 建立指定之型別和模型項目的功能提供者。 (以 FeatureExtensions 定義。) |
回頁首
備註
您可以使用 FeatureManager 類別建立功能提供者,並查詢執行中和暫止的功能連接器。
如果必須將功能連接器具現化,但是它所訂閱的服務或內容項目卻不存在,則會將這個連結器型別列於暫止清單中,而且將訂閱加入至編輯內容。 一旦可以使用正確的服務和項目,便會將功能連接器具現化。
當物件加入至編輯模型時,編輯模型就必須對功能管理員呼叫 InitializeFeatures 方法,以檢查物件是否有功能屬性。 它會沿著這些屬性檢查至 FeatureConnector<TFeatureProviderType> 屬性,並確保所有唯一的連接器都已具現化。
範例
下列範例程式碼顯示如何使用 FeatureManager 類別,以存取執行中與暫止的連接器。 如需完整的程式碼清單,請參閱 HOW TO:建立自訂功能連接器。
Public Sub Initialize(ByVal manager As FeatureManager)
featManager = manager
Bind()
End Sub
...
' Binds the activatedFeatures and pendingFeatures controls
' the FeatureManager's RunningConnectors and PendingConnectors\
' properties.
Private Sub Bind()
activatedFeatures.Items.Clear()
pendingFeatures.Items.Clear()
Dim info As FeatureConnectorInformation
For Each info In featManager.RunningConnectors
activatedFeatures.Items.Add(info)
Next info
For Each info In featManager.PendingConnectors
pendingFeatures.Items.Add(info)
Next info
End Sub
public void Initialize(FeatureManager manager)
{
featManager = manager;
Bind();
}
...
// Binds the activatedFeatures and pendingFeatures controls
// the FeatureManager's RunningConnectors and PendingConnectors\
// properties.
private void Bind()
{
activatedFeatures.Items.Clear();
pendingFeatures.Items.Clear();
foreach (FeatureConnectorInformation info in
featManager.RunningConnectors)
{
activatedFeatures.Items.Add(info);
}
foreach (FeatureConnectorInformation info in
featManager.PendingConnectors)
{
pendingFeatures.Items.Add(info);
}
}
執行緒安全
這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。
請參閱
參考
Microsoft.Windows.Design.Features 命名空間
FeatureConnector<TFeatureProviderType>