FeatureManager クラス
更新 : 2007 年 11 月
機能プロバイダと機能コネクタを管理します。
名前空間 : Microsoft.Windows.Design.Features
アセンブリ : Microsoft.Windows.Design.Extensibility (Microsoft.Windows.Design.Extensibility.dll 内)
構文
'宣言
Public Class FeatureManager _
Implements IDisposable
'使用
Dim instance As FeatureManager
public class FeatureManager : IDisposable
public ref class FeatureManager : IDisposable
public class FeatureManager implements IDisposable
解説
FeatureManager クラスを使用して、機能プロバイダを作成し、実行中の機能コネクタと保留中の機能コネクタを問い合わせます。
機能コネクタのインスタンス化が必要であるが、機能コネクタが存在していないサービスまたはコンテキスト項目をサブスクライブしている場合、そのコネクタ型は保留となり、サブスクリプションは編集コンテキストに追加されます。適切なサービスと項目が使用可能になると、機能コネクタがインスタンス化されます。
オブジェクトが編集モデルに追加されると、編集モデルは機能マネージャの InitializeFeatures メソッドを呼び出します。ここで、このオブジェクトの機能属性がチェックされます。これらの属性を FeatureConnector<TFeatureProviderType> 属性と対応させ、すべての一意のコネクタがインスタンス化されていることを確認します。
例
FeatureManager クラスを使用して実行中のコネクタと保留中のコネクタにアクセスする方法を次のコード例に示します。完全なコードの一覧については、「方法 : カスタム機能コネクタを作成する」を参照してください。
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);
}
}
継承階層
System.Object
Microsoft.Windows.Design.Features.FeatureManager
スレッド セーフ
この型のすべてのパブリック static (Visual Basic では Shared) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
参照
参照
Microsoft.Windows.Design.Features 名前空間
FeatureConnector<TFeatureProviderType>