Classe FeatureConnector<TFeatureProviderType>
Fornisce un'implementazione di base per tutta l'estensibilità basata su connettori di funzionalità.
Gerarchia di ereditarietà
System.Object
Microsoft.Windows.Design.Features.FeatureConnector<TFeatureProviderType>
Microsoft.Windows.Design.Policies.PolicyDrivenFeatureConnector<TFeatureProviderType>
Spazio dei nomi: Microsoft.Windows.Design.Features
Assembly: Microsoft.Windows.Design.Extensibility (in Microsoft.Windows.Design.Extensibility.dll)
Sintassi
'Dichiarazione
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 non supporta i tipi o i metodi generici.
Parametri di tipo
- TFeatureProviderType
Tipo di provider di funzionalità.
Il tipo FeatureConnector<TFeatureProviderType> espone i seguenti membri.
Costruttori
Nome | Descrizione | |
---|---|---|
FeatureConnector<TFeatureProviderType> | Inizializza una nuova istanza della classe FeatureConnector<TFeatureProviderType>. |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
Context | Ottiene il contesto di modifica per il connettore di funzionalità. | |
Manager | Ottiene FeatureManager per il connettore di funzionalità. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
CreateFeatureProviders(Type) | Crea un nuovo elenco di provider di funzionalità associati al connettore di funzionalità, in base al tipo specificato. | |
CreateFeatureProviders<TSubtype>(Type) | Crea un nuovo elenco di provider di funzionalità associati al connettore di funzionalità, in base al tipo e al sottotipo specificati. | |
Dispose() | Rilascia tutte le risorse utilizzate da FeatureConnector<TFeatureProviderType>. | |
Dispose(Boolean) | Rilascia le risorse non gestite utilizzate dall'oggetto FeatureConnector<TFeatureProviderType> ed eventualmente rilascia le risorse gestite. | |
Equals | Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object) | |
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Esegue l'override di Object.Finalize()). | |
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) | |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) | |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) | |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
In alto
Note
Derivare dalla classe FeatureConnector<TFeatureProviderType> astratta quando è necessario implementare il livello più avanzato di integrazione con WPF Designer. I connettori di funzionalità possono sottoscrivere servizi globali e possono aggiungere i propri servizi.
I provider di funzionalità utilizzano FeatureConnectorAttribute per specificare il connettore di funzionalità associato.
La classe di base FeatureConnector<TFeatureProviderType> è generica e utilizza il tipo del provider di funzionalità ospitato da FeatureConnector<TFeatureProviderType>.
I connettori di funzionalità vengono creati su richiesta. Quando la classe FeatureManager individua FeatureConnectorAttribute in FeatureProvider, crea l'oggetto FeatureConnector<TFeatureProviderType> specificato, se non esiste già.
La classe FeatureConnector<TFeatureProviderType> astratta implementa l'interfaccia IDisposable, che promuove una semplice implementazione di pulizia.
La maggior parte della funzionalità della classe FeatureConnector<TFeatureProviderType> è implementata nei metodi CreateFeatureProviders protetti. Se viene passato un oggetto in questo metodo, il connettore di funzionalità ricerca i tipi FeatureAttribute sull'oggetto. Se questi attributi vengono trovati, viene creata l'istanza di FeatureProvider associata a ogni attributo, che viene restituita in un elenco.
Esempi
Nell'esempio di codice seguente viene illustrato come derivare dalla classe FeatureConnector<TFeatureProviderType> per connettere un provider di funzionalità personalizzato denominato DiagnosticsMenuProvider a un servizio personalizzato denominato IDiagnosticsService. Per l'elenco di codice completo, vedere Procedura: creare un connettore di funzionalità personalizzato.
' 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
}
Codice thread safe
Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.
Vedere anche
Riferimenti
Spazio dei nomi Microsoft.Windows.Design.Features
Altre risorse
Procedura: creare un connettore di funzionalità personalizzato