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 の簡易コピーを作成します。 (Object から継承されます。) | |
OnFeatureAvailable | FeatureAvailable イベントを発生させます。 | |
ToString | 現在のオブジェクトを表す文字列を返します。 (Object から継承されます。) |
このページのトップへ
イベント
名前 | 説明 | |
---|---|---|
FeatureAvailable | 新しい機能の型が使用可能になると発生します。 |
このページのトップへ
拡張メソッド
名前 | 説明 | |
---|---|---|
CreateFeatureProviders(Type, ModelItem) | オーバーロードされます。 指定された型およびモデル アイテムの機能プロバイダーを作成します。 (FeatureExtensions によって定義されています。) | |
CreateFeatureProviders(Type, ModelItem, Predicate<Type>) | オーバーロードされます。 指定された型およびモデル アイテムの機能プロバイダーを作成します。 (FeatureExtensions によって定義されています。) |
このページのトップへ
解説
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);
}
}
スレッド セーフ
この型のすべてのパブリック static (Visual Basic では Shared) メンバーは、スレッド セーフです。 インスタンス メンバーの場合は、スレッド セーフであるとは限りません。
参照
参照
Microsoft.Windows.Design.Features 名前空間
FeatureConnector<TFeatureProviderType>