FeatureConnector<TFeatureProviderType> (Clase)
Proporciona una implementación base para toda la extensibilidad basada en el conector de características.
Jerarquía de herencia
System.Object
Microsoft.Windows.Design.Features.FeatureConnector<TFeatureProviderType>
Microsoft.Windows.Design.Policies.PolicyDrivenFeatureConnector<TFeatureProviderType>
Espacio de nombres: Microsoft.Windows.Design.Features
Ensamblado: Microsoft.Windows.Design.Extensibility (en Microsoft.Windows.Design.Extensibility.dll)
Sintaxis
'Declaración
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 no admite el uso de métodos ni tipos genéricos.
Parámetros de tipo
- TFeatureProviderType
Tipo de proveedor de características.
El tipo FeatureConnector<TFeatureProviderType> expone los siguientes miembros.
Constructores
Nombre | Descripción | |
---|---|---|
FeatureConnector<TFeatureProviderType> | Inicializa una nueva instancia de la clase FeatureConnector<TFeatureProviderType>. |
Arriba
Propiedades
Nombre | Descripción | |
---|---|---|
Context | Obtiene el contexto de edición para el conector de características. | |
Manager | Obtiene FeatureManager para el conector de características. |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
CreateFeatureProviders(Type) | Crea una nueva lista de proveedores de características asociada al conector de características, según el objeto tipo proporcionado. | |
CreateFeatureProviders<TSubtype>(Type) | Crea una nueva lista de proveedores de características asociada al conector de características, según el objeto tipo y el subtipo proporcionados. | |
Dispose() | Libera todos los recursos utilizados por el objeto FeatureConnector<TFeatureProviderType>. | |
Dispose(Boolean) | Libera los recursos no administrados usados por FeatureConnector<TFeatureProviderType> y, opcionalmente, los recursos administrados. | |
Equals | Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object). | |
Finalize | Permite que un objeto intente liberar recursos y realizar otras operaciones de limpieza antes de ser reclamado por la recolección de elementos no utilizados. (Invalida a Object.Finalize()). | |
GetHashCode | Actúa como función hash para un tipo concreto. (Se hereda de Object). | |
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). | |
MemberwiseClone | Crea una copia superficial del objeto Object actual. (Se hereda de Object). | |
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). |
Arriba
Comentarios
Derive de la clase abstracta FeatureConnector<TFeatureProviderType> cuando necesite implementar el nivel más profundo de integración con WPF Designer. Los conectores de características pueden suscribirse a los servicios globales y agregar sus propios servicios.
Los proveedores de características utilizan FeatureConnectorAttribute para especificar el conector de características asociado.
La clase base FeatureConnector<TFeatureProviderType> es genérica y usa el tipo de proveedor de características que FeatureConnector<TFeatureProviderType> hospeda.
Los conectores de características se crean previa solicitud. Cuando la clase FeatureManager detecta FeatureConnectorAttribute en FeatureProvider, crea el FeatureConnector<TFeatureProviderType> especificado, si aún no existe.
La clase abstracta FeatureConnector<TFeatureProviderType> implementa la interfaz IDisposable, que favorece una implementación de limpieza sencilla.
La mayor parte de la funcionalidad de la clase FeatureConnector<TFeatureProviderType> se implementa en los métodos protegidos CreateFeatureProviders. Pasar un objeto a este método hace que el conector de características busque los tipos FeatureAttribute en el objeto. Si se encuentran estos atributos, la instancia de FeatureProvider asociada a cada atributo se crea y se devuelve en una lista.
Ejemplos
En el siguiente ejemplo de código se muestra cómo derivar de la clase FeatureConnector<TFeatureProviderType> para conectarse con un proveedor de características personalizado denominado DiagnosticsMenuProvider con un servicio personalizado denominado IDiagnosticsService. Para obtener una lista de código completa, vea Cómo: Crear un conector de características personalizado.
' 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
}
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Vea también
Referencia
Microsoft.Windows.Design.Features (Espacio de nombres)
Otros recursos
Cómo: Crear un conector de características personalizado
Proveedores de características y conectores de características