FeatureManager-Klasse
Verwaltet Featureanbieter und Featureverbindungen.
Vererbungshierarchie
System.Object
Microsoft.Windows.Design.Features.FeatureManager
Namespace: Microsoft.Windows.Design.Features
Assembly: Microsoft.Windows.Design.Extensibility (in Microsoft.Windows.Design.Extensibility.dll)
Syntax
'Declaration
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
Der FeatureManager-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
FeatureManager | Initialisiert eine neue Instanz der FeatureManager-Klasse. |
Zum Seitenanfang
Eigenschaften
Name | Beschreibung | |
---|---|---|
Context | Ruft den Bearbeitungskontext für diesen Feature-Manager ab. | |
MetadataProvider | Ruft einen benutzerdefinierten Metadaten-Anbieter ab, der Typmetadaten für diesen Funktions-Manager bereitstellen kann, oder legt diesen fest. | |
PendingConnectors | Ruft eine Enumeration sämtlicher noch nicht aktivierter Verbindungen ab, die auf Kontextelemente oder Dienste warten. | |
RunningConnectors | Ruft eine Enumeration aller derzeit ausgeführten Verbindungen ab. |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
CreateFeatureProviders(Type) | Erstellt eine Reihe von Featureanbietern für den angegebenen Typ und gibt diese zurück. | |
CreateFeatureProviders(Type, Predicate<Type>) | Erstellt eine Reihe von Featureanbietern für den angegebenen Typ und gibt diese zurück. | |
CreateFeatureProviders(Type, Type) | Erstellt eine Reihe von Featureanbietern, die für den angegebenen Typ vorhanden sind, und gibt sie zurück. | |
CreateFeatureProviders(Type, Type, Predicate<Type>) | Erstellt eine Reihe von Featureanbietern, die für den angegebenen Typ vorhanden sind, und gibt sie zurück. | |
Dispose() | Gibt alle vom FeatureManager verwendeten Ressourcen frei. | |
Dispose(Boolean) | Gibt alle ausgeführten Featureverbindungen frei. | |
Equals | Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.) | |
Finalize | Finalizer, der Dispose aufruft. (Überschreibt Object.Finalize().) | |
GetCustomAttributes | Listet Attribute für den angegebenen Typ auf. | |
GetHashCode | Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.) | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
InitializeFeatures | Initialisiert alle Featureverbindungen der Featureanbieter, die auf dem angegebenen Typ definiert wurden. | |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
OnFeatureAvailable | Löst das FeatureAvailable-Ereignis aus. | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
Zum Seitenanfang
Ereignisse
Name | Beschreibung | |
---|---|---|
FeatureAvailable | Tritt auf, wenn ein neuer Featuretyp verfügbar ist. |
Zum Seitenanfang
Erweiterungsmethoden
Name | Beschreibung | |
---|---|---|
CreateFeatureProviders(Type, ModelItem) | Überladen. Erstellt Funktionsanbieter mit dem angegebenen Typ und Modellelement. (Durch FeatureExtensions definiert.) | |
CreateFeatureProviders(Type, ModelItem, Predicate<Type>) | Überladen. Erstellt Funktionsanbieter mit dem angegebenen Typ und Modellelement. (Durch FeatureExtensions definiert.) |
Zum Seitenanfang
Hinweise
Verwenden Sie die FeatureManager-Klasse, um Featureanbieter zu erstellen und ausgeführte und ausstehende Featureverbindungen abzufragen.
Wenn eine Featureverbindung instanziiert werden muss, die noch nicht bestehende Dienste oder Kontextelemente abonniert, wird der Connectortyp als ausstehend in eine Liste eingetragen und dem Bearbeitungskontext werden Abonnements hinzugefügt. Wenn die richtigen Dienste und Elemente verfügbar werden, wird die Featureverbindung instanziiert.
Wenn einem Bearbeitungsmodell ein Objekt hinzugefügt wird, sollte das Bearbeitungsmodell die InitializeFeatures-Methode für den Feature-Manager aufrufen, die das Objekt auf Featureattribute untersucht. Sie folgt diesen Attributen zu FeatureConnector<TFeatureProviderType>-Attributen und stellt sicher, dass alle eindeutigen Verbindungen instanziiert wurden.
Beispiele
Im folgenden Beispielcode wird gezeigt, wie mit der FeatureManager-Klasse auf aktive und ausstehende Verbindungen zugegriffen wird. Die vollständige Codeliste finden Sie unter Gewusst wie: Erstellen einer benutzerdefinierten Featureverbindung.
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);
}
}
Threadsicherheit
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Siehe auch
Referenz
Microsoft.Windows.Design.Features-Namespace
FeatureConnector<TFeatureProviderType>
Weitere Ressourcen
Gewusst wie: Erstellen einer benutzerdefinierten Featureverbindung