Compartir a través de


FeatureManager (Clase)

Administra proveedores de características y conectores de características

Jerarquía de herencia

System.Object
  Microsoft.Windows.Design.Features.FeatureManager

Espacio de nombres:  Microsoft.Windows.Design.Features
Ensamblado:  Microsoft.Windows.Design.Extensibility (en Microsoft.Windows.Design.Extensibility.dll)

Sintaxis

'Declaración
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

El tipo FeatureManager expone los siguientes miembros.

Constructores

  Nombre Descripción
Método público FeatureManager Inicializa una nueva instancia de la clase FeatureManager.

Arriba

Propiedades

  Nombre Descripción
Propiedad pública Context Obtiene el contexto de edición para este administrador de características.
Propiedad pública MetadataProvider Obtiene o establece un proveedor del metadatos personalizado que puede proporcionar los metadatos de tipo para este administrador de características.
Propiedad pública PendingConnectors Obtiene una enumeración de todos los conectores que no se han activado todavía porque están esperando elementos de contexto o servicios.
Propiedad pública RunningConnectors Obtiene una enumeración de todos los conectores que se están ejecutando actualmente.

Arriba

Métodos

  Nombre Descripción
Método público CreateFeatureProviders(Type) Crea y devuelve un conjunto de proveedores de características para el tipo especificado.
Método público CreateFeatureProviders(Type, Predicate<Type>) Crea y devuelve un conjunto de proveedores de características para el tipo especificado.
Método público CreateFeatureProviders(Type, Type) Crea y devuelve un conjunto de proveedores de características que existen para el tipo especificado.
Método público CreateFeatureProviders(Type, Type, Predicate<Type>) Crea y devuelve un conjunto de proveedores de características que existen para el tipo especificado.
Método público Dispose() Libera todos los recursos utilizados por FeatureManager.
Método protegido Dispose(Boolean) Elimina todos los conectores de características en ejecución.
Método público Equals Determina si el objeto Object especificado es igual al objeto Object actual. (Se hereda de Object).
Método protegido Finalize Finalizador que llama a Dispose. (Invalida a Object.Finalize()).
Método público GetCustomAttributes Enumera los atributos en el tipo especificado.
Método público GetHashCode Actúa como función hash para un tipo concreto. (Se hereda de Object).
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método público InitializeFeatures Inicializa los conectores de características para los proveedores de características definidos en el tipo especificado.
Método protegido MemberwiseClone Crea una copia superficial del objeto Object actual. (Se hereda de Object).
Método protegido OnFeatureAvailable Genera el evento FeatureAvailable.
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).

Arriba

Eventos

  Nombre Descripción
Evento público FeatureAvailable Se produce cuando hay disponible un nuevo tipo de característica.

Arriba

Métodos de extensión

  Nombre Descripción
Método de extensión público CreateFeatureProviders(Type, ModelItem) Sobrecargado. Crea proveedores de características del tipo y elemento de modelo especificado. (Definido por FeatureExtensions).
Método de extensión público CreateFeatureProviders(Type, ModelItem, Predicate<Type>) Sobrecargado. Crea proveedores de características del tipo y elemento de modelo especificado. (Definido por FeatureExtensions).

Arriba

Comentarios

Utilice la clase FeatureManager para crear proveedores de características y para hacer consultas sobre conectores de características pendientes y en ejecución.

Si un conector de características necesita que se creen instancias, pero se suscribe a los servicios o a los elementos de contexto que no existen todavía, el tipo de conector se coloca en una lista pendiente y las suscripciones se agregan al contexto de edición. Cuando los servicios y elementos adecuados estén disponibles, se crean instancias del conector de características.

Cuando un objeto se agrega a un modelo de edición, el modelo de edición debe llamar al método InitializeFeatures en el administrador de características, que inspecciona el objeto para ver los atributos de características. Sigue a estos atributos hasta los atributos FeatureConnector<TFeatureProviderType> y se asegura de que se han creado instancias de todos los conectores únicos.

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar la clase FeatureManager para obtener acceso a los conectores pendientes y en ejecución. Para obtener una lista de código completa, vea Cómo: Crear un conector de características personalizado.

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);
    }
}

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)

FeatureProvider

FeatureConnector<TFeatureProviderType>

Otros recursos

Cómo: Crear un conector de características personalizado

Proveedores de características y conectores de características

Introducción a la extensibilidad de WPF Designer