Classe FeatureManager
Aggiornamento: novembre 2007
Gestisce i provider di funzionalità e i connettori di funzionalità.
Spazio dei nomi: Microsoft.Windows.Design.Features
Assembly: Microsoft.Windows.Design.Extensibility (in Microsoft.Windows.Design.Extensibility.dll)
Sintassi
Public Class FeatureManager _
Implements IDisposable
Dim instance As FeatureManager
public class FeatureManager : IDisposable
public ref class FeatureManager : IDisposable
public class FeatureManager implements IDisposable
Note
Utilizzare la classe FeatureManager per creare provider di funzionalità ed eseguire query per i connettori di funzionalità in esecuzione e in sospeso.
Se è necessario creare un'istanza di un connettore di funzionalità che tuttavia ha sottoscritto servizi o elementi di contesto che non esistono ancora, il tipo di connettore viene inserito in un elenco di elementi in sospeso e le sottoscrizioni vengono aggiunte al contesto di modifica. Quando i servizi e gli elementi corretti diventano disponibili, viene creata un'istanza del connettore di funzionalità.
Quando un oggetto viene aggiunto a un modello di modifica, il modello di modifica deve chiamare il metodo InitializeFeatures sul gestore di funzionalità, che controlla l'oggetto per individuare attributi di funzionalità. Inserisce questi attributi dopo gli attributi FeatureConnector<TFeatureProviderType> e verifica che sia stata creata un'istanza di tutti i connettori univoci.
Esempi
Nell'esempio di codice seguente viene illustrato come utilizzare la classe FeatureManager per accedere ai connettori in esecuzione e in sospeso. Per l'elenco di codice completo, vedere Procedura: creare un connettore di funzionalità personalizzato.
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);
}
}
Gerarchia di ereditarietà
System.Object
Microsoft.Windows.Design.Features.FeatureManager
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
FeatureConnector<TFeatureProviderType>
Altre risorse
Procedura: creare un connettore di funzionalità personalizzato