Classe FeatureManager
Gestisce i provider di funzionalità e i connettori di funzionalità.
Gerarchia di ereditarietà
System.Object
Microsoft.Windows.Design.Features.FeatureManager
Spazio dei nomi: Microsoft.Windows.Design.Features
Assembly: Microsoft.Windows.Design.Extensibility (in Microsoft.Windows.Design.Extensibility.dll)
Sintassi
'Dichiarazione
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
Il tipo FeatureManager espone i seguenti membri.
Costruttori
Nome | Descrizione | |
---|---|---|
FeatureManager | Inizializza una nuova istanza della classe FeatureManager. |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
Context | Ottiene il contesto di modifica per il gestore di funzionalità. | |
MetadataProvider | Ottiene o imposta un provider di metadati personalizzato che può fornire metadati del tipo per questo gestore di funzionalità. | |
PendingConnectors | Ottiene un'enumerazione di tutti i connettori che non sono ancora stati attivati perché sono in attesa di elementi di contesto o servizi. | |
RunningConnectors | Ottiene un'enumerazione di tutti i connettori attualmente in esecuzione. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
CreateFeatureProviders(Type) | Crea e restituisce un set di provider di funzionalità per il tipo specificato. | |
CreateFeatureProviders(Type, Predicate<Type>) | Crea e restituisce un set di provider di funzionalità per il tipo specificato. | |
CreateFeatureProviders(Type, Type) | Crea e restituisce un set di provider di funzionalità esistenti per il tipo specificato. | |
CreateFeatureProviders(Type, Type, Predicate<Type>) | Crea e restituisce un set di provider di funzionalità esistenti per il tipo specificato. | |
Dispose() | Rilascia tutte le risorse utilizzate dall'oggetto FeatureManager. | |
Dispose(Boolean) | Elimina tutti i connettori di funzionalità in esecuzione. | |
Equals | Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object) | |
Finalize | Finalizzatore che chiama Dispose. (Esegue l'override di Object.Finalize()). | |
GetCustomAttributes | Enumera gli attributi nel tipo specificato. | |
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) | |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) | |
InitializeFeatures | Inizializza i connettori di funzionalità per i provider di funzionalità definiti sul tipo specificato. | |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) | |
OnFeatureAvailable | Genera l'evento FeatureAvailable. | |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
In alto
Eventi
Nome | Descrizione | |
---|---|---|
FeatureAvailable | Si verifica quando è disponibile un nuovo tipo di funzionalità. |
In alto
Metodi di estensione
Nome | Descrizione | |
---|---|---|
CreateFeatureProviders(Type, ModelItem) | Sottoposto a overload. Crea provider di funzionalità del tipo e dell'elemento del modello specificati. (Definito da FeatureExtensions). | |
CreateFeatureProviders(Type, ModelItem, Predicate<Type>) | Sottoposto a overload. Crea provider di funzionalità del tipo e dell'elemento del modello specificati. (Definito da FeatureExtensions). |
In alto
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);
}
}
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