Compartilhar via


Classe FeatureManager

Manages feature providers and feature connectors.

Hierarquia de herança

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

Namespace:  Microsoft.Windows.Design.Features
Assembly:  Microsoft.Windows.Design.Extensibility (em Microsoft.Windows.Design.Extensibility.dll)

Sintaxe

'Declaração
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

O tipo FeatureManager expõe os membros a seguir.

Construtores

  Nome Descrição
Método público FeatureManager Initializes a new instance of the FeatureManager class.

Início

Propriedades

  Nome Descrição
Propriedade pública Context Obtém o contexto de edição para o Gerenciador de recurso.
Propriedade pública MetadataProvider Obtém ou define um provedor de metadados personalizados que pode fornecer metadados de tipo para o Gerenciador de recurso.
Propriedade pública PendingConnectors Obtém uma enumeração de todos os conectores não foram ativados ainda porque estão aguardando no itens de contexto ou serviços.
Propriedade pública RunningConnectors Obtém uma enumeração de todos os conectores que estão sendo executados.

Início

Métodos

  Nome Descrição
Método público CreateFeatureProviders(Type) Cria e retorna um conjunto de provedores de recurso para o tipo especificado.
Método público CreateFeatureProviders(Type, Predicate<Type>) Cria e retorna um conjunto de provedores de recurso para o tipo especificado.
Método público CreateFeatureProviders(Type, Type) Cria e retorna um conjunto de provedores de recurso existe para o tipo especificado.
Método público CreateFeatureProviders(Type, Type, Predicate<Type>) Cria e retorna um conjunto de provedores de recurso existe para o tipo especificado.
Método público Dispose() Libera todos os recursos usados pela FeatureManager.
Método protegido Dispose(Boolean) Descarta todos os conectores de recurso em execução.
Método público Equals Determina se o especificado Object é igual a atual Object. (Herdado de Object.)
Método protegido Finalize Finalizador chama Dispose. (Substitui Object.Finalize().)
Método público GetCustomAttributes Enumera os atributos de tipo especificado.
Método público GetHashCode Serves as a hash function for a particular type. (Herdado de Object.)
Método público GetType Obtém o Type da instância atual. (Herdado de Object.)
Método público InitializeFeatures Inicializa todos os conectores de recurso para os provedores de recurso definidos no tipo especificado.
Método protegido MemberwiseClone Cria uma cópia superficial do atual Object. (Herdado de Object.)
Método protegido OnFeatureAvailable Raises the FeatureAvailable event.
Método público ToString Retorna um string que representa o objeto atual. (Herdado de Object.)

Início

Eventos

  Nome Descrição
Evento público FeatureAvailable Ocorre quando um novo tipo de recurso está disponível.

Início

Métodos de extensão

  Nome Descrição
Método de extensão público CreateFeatureProviders(Type, ModelItem) Sobrecarregado. Cria provedores de recurso do tipo especificado e o item de modelo. (Definido por FeatureExtensions.)
Método de extensão público CreateFeatureProviders(Type, ModelItem, Predicate<Type>) Sobrecarregado. Cria provedores de recurso do tipo especificado e o item de modelo. (Definido por FeatureExtensions.)

Início

Comentários

Use o FeatureManager classe para criar provedores de recurso e para consultar para execução e pendentes conectores de recurso.

Se o conector do recurso precisa ser instanciado, mas ele assina para serviços ou itens de contexto que ainda não existir, o tipo de conector é colocado em uma lista pendente e inscrições são adicionadas para o contexto de edição. Quando os serviços corretos e os itens se tornam disponíveis, o conector do recurso é instanciado.

Quando um objeto é adicionado a um modelo de edição, o modelo de edição deve chamar o InitializeFeatures método no Gerenciador de recurso, que inspeciona o objeto para o recurso de atributos. Ele segue esses atributos para FeatureConnector<TFeatureProviderType> atributos e certifica-se de que todos os conectores exclusivos que foi instanciados.

Exemplos

O exemplo de código a seguir mostra como usar o FeatureManager de classe para acessar o em execução e pendentes conectores. For a complete code listing, see Como: Criar um Conector de Recursos 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);
    }
}

Acesso thread-safe

Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.Windows.Design.Features

FeatureProvider

FeatureConnector<TFeatureProviderType>

Outros recursos

Como: Criar um Conector de Recursos Personalizado

Recurso provedores e conectores de recursos

Noções básicas sobre extensibilidade Designer WPF