FeatureConnector<TFeatureProviderType>-Klasse
Stellt eine Basisimplementierung für alle Erweiterungen bereit, die auf Featureconnectoren basieren.
Vererbungshierarchie
System.Object
Microsoft.Windows.Design.Features.FeatureConnector<TFeatureProviderType>
Microsoft.Windows.Design.Policies.PolicyDrivenFeatureConnector<TFeatureProviderType>
Namespace: Microsoft.Windows.Design.Features
Assembly: Microsoft.Windows.Design.Extensibility (in Microsoft.Windows.Design.Extensibility.dll)
Syntax
'Declaration
Public MustInherit Class FeatureConnector(Of TFeatureProviderType As FeatureProvider) _
Implements IDisposable
public abstract class FeatureConnector<TFeatureProviderType> : IDisposable
where TFeatureProviderType : FeatureProvider
generic<typename TFeatureProviderType>
where TFeatureProviderType : FeatureProvider
public ref class FeatureConnector abstract : IDisposable
[<AbstractClass>]
type FeatureConnector<'TFeatureProviderType when 'TFeatureProviderType : FeatureProvider> =
class
interface IDisposable
end
JScript unterstützt keine generischen Typen oder Methoden.
Typparameter
- TFeatureProviderType
Der Featureanbietertyp.
Der FeatureConnector<TFeatureProviderType>-Typ macht die folgenden Member verfügbar.
Konstruktoren
Name | Beschreibung | |
---|---|---|
FeatureConnector<TFeatureProviderType> | Initialisiert eine neue Instanz der FeatureConnector<TFeatureProviderType>-Klasse. |
Zum Seitenanfang
Eigenschaften
Name | Beschreibung | |
---|---|---|
Context | Ruft den Bearbeitungskontext für den Featureconnector ab. | |
Manager | Ruft den FeatureManager für den Featureconnector ab. |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
CreateFeatureProviders(Type) | Erstellt auf Grundlage des bereitgestellten Typs eine neue Liste von Featureanbietern, die dem Featureconnector zugeordnet sind. | |
CreateFeatureProviders<TSubtype>(Type) | Erstellt auf Grundlage des angegebenen Typs und Untertyps eine neue Liste von Featureanbietern, die dem Featureconnector zugeordnet sind. | |
Dispose() | Gibt alle von FeatureConnector<TFeatureProviderType> verwendeten Ressourcen frei. | |
Dispose(Boolean) | Gibt die vom FeatureConnector<TFeatureProviderType> verwendeten nicht verwalteten Ressourcen und optional auch die verwalteten Ressourcen frei. | |
Equals | Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.) | |
Finalize | Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der Garbage Collection freigegeben wird. (Überschreibt Object.Finalize().) | |
GetHashCode | Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.) | |
GetType | Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.) | |
MemberwiseClone | Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.) | |
ToString | Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.) |
Zum Seitenanfang
Hinweise
Sind von der abstrakten FeatureConnector<TFeatureProviderType>-Klasse abgeleitet, wenn mit dem WPF-Designer die tiefste Ebene der Integration implementiert werden muss. Featureverbindungen können globale Dienste abonnieren und ihre eigenen Dienste hinzufügen.
Featureanbieter verwenden FeatureConnectorAttribute, um den zugeordneten Featureconnector anzugeben.
Die FeatureConnector<TFeatureProviderType>-Basisklasse ist generisch und verwendet den Typ des Featureanbieters, den der FeatureConnector<TFeatureProviderType> hostet.
Featureverbindungen werden nach Bedarf erstellt. Wenn die FeatureManager-Klasse für einen FeatureProvider ein FeatureConnectorAttribute ermittelt, wird der angegebene FeatureConnector<TFeatureProviderType> erstellt, wenn er nicht bereits vorhanden ist.
Die abstrakte FeatureConnector<TFeatureProviderType>-Klasse implementiert die IDisposable-Schnittstelle, die eine einfache Bereinigungsimplementierung beinhaltet.
Die meisten Funktionen der FeatureConnector<TFeatureProviderType>-Klasse sind in den geschützten CreateFeatureProviders-Methoden implementiert. Die Übergabe eines Objekts an diese Methode bewirkt, dass vom Featureconnector das Objekt nach FeatureAttribute-Typen durchsucht wird. Wenn solche Attribute gefunden werden, wird eine dem jeweiligen Attribut zugeordnete FeatureProvider-Instanz erstellt und in einer Liste zurückgegeben.
Beispiele
Im folgenden Codebeispiel wird veranschaulicht, wie von der FeatureConnector<TFeatureProviderType>-Klasse abgeleitet wird, um einen benutzerdefinierten Featureanbieter mit dem Namen DiagnosticsMenuProvider einem benutzerdefinierten Dienst mit dem Namen IDiagnosticsService zuzuordnen. Die vollständige Codeliste finden Sie unter Gewusst wie: Erstellen einer benutzerdefinierten Featureverbindung.
' The IDiagnosticsService specifies a simple interface for showing
' a FeatureManagerDiagnostics window.
Interface IDiagnosticsService
Sub ShowWindow()
End Interface
...
' The DiagnosticsFeatureConnector publishes the IDiagnosticsService.
Class DiagnosticsFeatureConnector
Inherits FeatureConnector(Of DiagnosticsMenuProvider)
Implements IDiagnosticsService
Dim fmdWindow As FeatureManagerDiagnostics
Public Sub New(ByVal manager As FeatureManager)
MyBase.New(manager)
Context.Services.Publish(Of IDiagnosticsService)(Me)
End Sub
' The showWindow method creates a FeatureManagerDiagnostics
' window and shows it.
Public Sub ShowWindow() Implements IDiagnosticsService.ShowWindow
If fmdWindow IsNot Nothing Then
' Show the FeatureManagerDiagnostics window.
fmdWindow.Show()
' Activate the
fmdWindow.Activate()
Else
fmdWindow = New FeatureManagerDiagnostics()
fmdWindow.Initialize(Manager)
AddHandler fmdWindow.Closed, AddressOf fmdWindow_Closed
fmdWindow.Show()
End If
End Sub
Sub fmdWindow_Closed(ByVal sender As Object, ByVal e As EventArgs)
fmdWindow = Nothing
End Sub
End Class
// The IDiagnosticsService specifies a simple interface for showing
// a FeatureManagerDiagnostics window.
interface IDiagnosticsService
{
void ShowWindow();
}
...
// The DiagnosticsFeatureConnector publishes the IDiagnosticsService.
class DiagnosticsFeatureConnector : FeatureConnector<DiagnosticsMenuProvider>,
IDiagnosticsService
{
FeatureManagerDiagnostics fmdWindow;
public DiagnosticsFeatureConnector(FeatureManager manager)
: base(manager)
{
Context.Services.Publish<IDiagnosticsService>(this);
}
#region IDiagnosticsService Members
// The showWindow method creates a FeatureManagerDiagnostics
// window and shows it.
public void ShowWindow()
{
if (fmdWindow != null)
{
fmdWindow.Show();
fmdWindow.Activate();
}
else
{
fmdWindow = new FeatureManagerDiagnostics();
fmdWindow.Initialize(Manager);
fmdWindow.Closed += new EventHandler(fmdWindow_Closed);
fmdWindow.Show();
}
}
void fmdWindow_Closed(object sender, EventArgs e)
{
fmdWindow = null;
}
#endregion
}
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
Weitere Ressourcen
Gewusst wie: Erstellen einer benutzerdefinierten Featureverbindung