FeatureManager, classe
Gère les fournisseurs et les connecteurs de fonctionnalités.
Hiérarchie d'héritage
System.Object
Microsoft.Windows.Design.Features.FeatureManager
Espace de noms : Microsoft.Windows.Design.Features
Assembly : Microsoft.Windows.Design.Extensibility (dans Microsoft.Windows.Design.Extensibility.dll)
Syntaxe
'Déclaration
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
Le type FeatureManager expose les membres suivants.
Constructeurs
Nom | Description | |
---|---|---|
FeatureManager | Initialise une nouvelle instance de la classe FeatureManager. |
Début
Propriétés
Nom | Description | |
---|---|---|
Context | Reçoit le contexte d'édition de ce gestionnaire de fonctionnalités. | |
MetadataProvider | Obtient ou définit un fournisseur de métadonnées personnalisé qui peut fournir des métadonnées de type pour ce gestionnaire de fonctionnalités. | |
PendingConnectors | Obtient une énumération de tous les connecteurs qui n'ont pas encore été activés parce qu'ils attendent des éléments de contexte ou des services. | |
RunningConnectors | Obtient une énumération de tous les connecteurs qui sont en cours d'exécution. |
Début
Méthodes
Nom | Description | |
---|---|---|
CreateFeatureProviders(Type) | Crée et retourne un jeu de fournisseurs de fonctionnalités pour le type spécifié. | |
CreateFeatureProviders(Type, Predicate<Type>) | Crée et retourne un jeu de fournisseurs de fonctionnalités pour le type spécifié. | |
CreateFeatureProviders(Type, Type) | Crée et retourne un jeu des fournisseurs de fonctionnalités qui existent pour le type spécifié. | |
CreateFeatureProviders(Type, Type, Predicate<Type>) | Crée et retourne un jeu des fournisseurs de fonctionnalités qui existent pour le type spécifié. | |
Dispose() | Libère toutes les ressources utilisées par FeatureManager. | |
Dispose(Boolean) | Supprime tous les connecteurs de fonctionnalités en cours d'exécution. | |
Equals | Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.) | |
Finalize | Finaliseur qui appelle Dispose. (Substitue Object.Finalize().) | |
GetCustomAttributes | Énumère des attributs sur le type spécifié. | |
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
InitializeFeatures | Initialise tous les connecteurs de fonctionnalités pour les fournisseurs de fonctionnalités du type défini. | |
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) | |
OnFeatureAvailable | Déclenche l'événement FeatureAvailable. | |
ToString | Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.) |
Début
Événements
Nom | Description | |
---|---|---|
FeatureAvailable | En présence d'un nouveau type de fonctionnalité. |
Début
Méthodes d'extension
Nom | Description | |
---|---|---|
CreateFeatureProviders(Type, ModelItem) | Surchargé. Crée des fournisseurs de fonctionnalités du type et de l'élément de modèle spécifiés. (Défini par FeatureExtensions.) | |
CreateFeatureProviders(Type, ModelItem, Predicate<Type>) | Surchargé. Crée des fournisseurs de fonctionnalités du type et de l'élément de modèle spécifiés. (Défini par FeatureExtensions.) |
Début
Notes
Utilisez la classe FeatureManager pour créer des fournisseurs de fonctionnalités et interroger les connecteurs de fonctionnalités en cours d'exécution et en attente.
Si un connecteur de fonctionnalités doit être instancié, alors qu'il s'abonne à des services ou éléments de contexte qui n'existent pas encore, le type de connecteur est mis en liste en attente et les abonnements sont ajoutés au contexte d'édition. Lorsque les services et éléments corrects deviennent disponibles, le connecteur de fonctionnalités est instancié.
Lorsqu'un objet est ajouté à un modèle d'édition, il doit appeler la méthode InitializeFeatures du gestionnaire de fonctionnalités qui inspecte l'objet pour vérifier les attributs de fonctionnalité. Il suit ces attributs FeatureConnector<TFeatureProviderType> pour s'assurer que tous les connecteurs uniques ont été instanciés.
Exemples
L'exemple de code suivant indique comment utiliser la classe FeatureManager pour accéder aux connecteurs en cours d'exécution et en attente. Pour obtenir l'intégralité du code, consultez Comment : créer un connecteur de fonctionnalités personnalisé.
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);
}
}
Sécurité des threads
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Voir aussi
Référence
Microsoft.Windows.Design.Features, espace de noms
FeatureConnector<TFeatureProviderType>
Autres ressources
Comment : créer un connecteur de fonctionnalités personnalisé
Fournisseurs de fonctionnalités et connecteurs de fonctionnalités