Classe FeatureConnector<TFeatureProviderType>
Fornece uma implementação básica para todos os extensibilidade baseada no conector do recurso.
Hierarquia de herança
System.Object
Microsoft.Windows.Design.Features.FeatureConnector<TFeatureProviderType>
Microsoft.Windows.Design.Policies.PolicyDrivenFeatureConnector<TFeatureProviderType>
Namespace: Microsoft.Windows.Design.Features
Assembly: Microsoft.Windows.Design.Extensibility (em Microsoft.Windows.Design.Extensibility.dll)
Sintaxe
'Declaração
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
O JScript não oferece suporte a tipos ou métodos genéricos.
Parâmetros de tipo
- TFeatureProviderType
O tipo de provedor de recurso.
O tipo FeatureConnector<TFeatureProviderType> expõe os membros a seguir.
Construtores
Nome | Descrição | |
---|---|---|
FeatureConnector<TFeatureProviderType> | Initializes a new instance of the FeatureConnector<TFeatureProviderType> class. |
Início
Propriedades
Nome | Descrição | |
---|---|---|
Context | Obtém o contexto de edição para o conector do recurso. | |
Manager | Obtém o FeatureManager para o recurso de conector. |
Início
Métodos
Nome | Descrição | |
---|---|---|
CreateFeatureProviders(Type) | Cria uma nova lista de provedores de recurso associado com o conector do recurso, com base no tipo fornecido. | |
CreateFeatureProviders<TSubtype>(Type) | Cria uma nova lista de provedores de recurso associado com o conector do recurso, com base no tipo fornecido e subtipo. | |
Dispose() | Libera todos os recursos usados pela FeatureConnector<TFeatureProviderType>. | |
Dispose(Boolean) | Libera os recursos não gerenciados usados pela FeatureConnector<TFeatureProviderType> e, opcionalmente, libera os recursos gerenciados. | |
Equals | Determina se o especificado Object é igual a atual Object. (Herdado de Object.) | |
Finalize | Permite que um objeto tentar liberar recursos e executar outras operações de limpeza antes que ele é recuperado pela coleta de lixo. (Substitui Object.Finalize().) | |
GetHashCode | Serves as a hash function for a particular type. (Herdado de Object.) | |
GetType | Obtém o Type da instância atual. (Herdado de Object.) | |
MemberwiseClone | Cria uma cópia superficial do atual Object. (Herdado de Object.) | |
ToString | Retorna um string que representa o objeto atual. (Herdado de Object.) |
Início
Comentários
Derivar abstrata FeatureConnector<TFeatureProviderType> classe quando você precisa implementar o nível mais profundo de integração com o WPF Designer. Feature connectors can subscribe to global services and can add their own services.
O uso de provedores de recursos FeatureConnectorAttribute para especificar o conector de recurso associado.
The FeatureConnector<TFeatureProviderType> base class is generic and consumes the type of the feature provider that the FeatureConnector<TFeatureProviderType> hosts.
Feature connectors are demand-created. Quando o FeatureManager classe detecta um FeatureConnectorAttribute em um FeatureProvider, cria especificado FeatureConnector<TFeatureProviderType>, se ainda não existir.
Resumo FeatureConnector<TFeatureProviderType> classe implementa o IDisposable interface, que promove uma implementação de limpeza simple.
Maioria da funcionalidade da FeatureConnector<TFeatureProviderType> classe é implementada no protegido CreateFeatureProviders métodos. Passing an object into this method causes the feature connector to search for FeatureAttribute types on the object. If these attributes are found, the FeatureProvider instance associated with each attribute is created and returned in a list.
Exemplos
The following code example shows how to derive from the FeatureConnector<TFeatureProviderType> class to connect a custom feature provider named DiagnosticsMenuProvider with a custom service named IDiagnosticsService. For a complete code listing, see Como: Criar um Conector de Recursos 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
}
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
Outros recursos
Como: Criar um Conector de Recursos Personalizado