Classe GlobalObjectService

Gestisce la tabella corrente dei provider di oggetti globali.questa classe non può essere ereditata.

Questa API non è conforme a CLS. 

Gerarchia di ereditarietà

System.Object
  Microsoft.VisualStudio.Shell.Design.GlobalObjectService

Spazio dei nomi:  Microsoft.VisualStudio.Shell.Design
Assembly:  Microsoft.VisualStudio.Shell.Design (in Microsoft.VisualStudio.Shell.Design.dll)

Sintassi

'Dichiarazione
<CLSCompliantAttribute(False)> _
Public NotInheritable Class GlobalObjectService _
    Implements IDisposable
[CLSCompliantAttribute(false)]
public sealed class GlobalObjectService : IDisposable

Il tipo GlobalObjectService espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico GlobalObjectService Inizializza una nuova istanza della classe di GlobalObjectService

In alto

Metodi

  Nome Descrizione
Metodo pubblico Equals Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object)
Metodo pubblico GetGlobalObjects() Restituisce una raccolta di tutti gli oggetti globali attualmente disponibili.
Metodo pubblico GetGlobalObjects(Type) Restituisce una raccolta di oggetti globali attualmente sono disponibili del tipo specificato.
Metodo pubblico GetGlobalTypes Restituisce una raccolta di tipi globali attualmente disponibili.
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfacciaMetodo privato IDisposable.Dispose elimina GlobalObjectService.

In alto

Note

La classe di GlobalObjectService viene eseguita una query dagli strumenti di progettazione per ottenere informazioni sugli oggetti globali disponibili e i tipi.GetGlobalObjects e raccolte di valore restituito di metodi di GetGlobalTypes che contengono oggetti globali attualmente disponibili globali e tipi, rispettivamente.GlobalObjectService viene eseguita una query in genere dagli oggetti di tipo IReferenceService e ITypeResolutionService.

Quando il caricatore della finestra di progettazione viene inizializzato, crea una singola istanza di servizi globale dell'oggetto che associa all'area di progettazione.Con questa disposizione, gli oggetti globali possono essere salvati in modo permanente in modo flessibile, utilizzando una combinazione arbitraria di serializzazione.Internamente, il servizio globale dell'oggetto esegue le funzioni seguenti:

  • Eseguire una query i diversi provider di oggetti globali per gli oggetti globali.Ogni oggetto globale restituito viene eseguita una query per un serializzatore compatibile e se non viene trovato, che oggetto globale viene rimosso in quanto non può essere serializzato.

  • Gestisce una tabella di oggetti globali.Questa tabella tiene traccia degli oggetti globali hanno avuto dal provider.Dopo che un oggetto globale viene aggiunto alla tabella, il servizio globale di attesa degli eventi nell'oggetto globale.

  • Quando l'istanza di un oggetto globale viene creata, aggiungere i metadati all'istanza in modo che possa essere serializzati.Il serializzatore è ottenuto da una chiamata a GetSerializer oggetto globale stessa.

  • Monitorare gli eventi di modifica per ogni oggetto globale.Quando un evento di modifica viene generato il servizio globale dell'oggetto genera un evento di AssemblyObsolete al servizio dinamico del tipo per ogni assembly univoco.Passa una matrice di tipi nell'evento inoltre, in modo da quelli in ascolto conosce esattamente quali tipi sono validi.Questo elenco viene compilato in due passaggi in risposta a eventi di Changed e di Changing .CodeDomDesignerLoader esamina gli eventi di AssemblyObsolete e ricaricare la finestra di progettazione se l'assembly contenuto all'interno dell'evento viene utilizzato dalla finestra di progettazione.

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.VisualStudio.Shell.Design

GlobalObject

GlobalType

GlobalObjectProvider

GlobalObjectProviderFactory

System.ComponentModel.Design.IReferenceService

System.ComponentModel.Design.ITypeResolutionService

CodeDomDesignerLoader