Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
.gif)
.gif)
.gif)