Classe GlobalObject

Fornisce la classe base per i tipi di cui le istanze sono accessibili per ogni progetto.

Gerarchia di ereditarietà

System.Object
  System.MarshalByRefObject
    Microsoft.VisualStudio.Shell.Design.GlobalType
      Microsoft.VisualStudio.Shell.Design.GlobalObject

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

Sintassi

'Dichiarazione
Public MustInherit Class GlobalObject _
    Inherits GlobalType
public abstract class GlobalObject : GlobalType

Il tipo GlobalObject espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo protetto GlobalObject Inizializza una nuova istanza della classe di GlobalObject .

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica Instance Ottiene un'istanza creata su richiesta dell'oggetto globale.
Proprietà pubblica Name Ottiene il nome consigliato dell'oggetto globale.
Proprietà pubblica ObjectType Ottiene il tipo esaminato di GlobalType. (Ereditato da GlobalType)

In alto

Metodi

  Nome Descrizione
Metodo protetto ClearInstance rimuove la proprietà di Instance .
Metodo protetto ClearObjectType rimuove la proprietà di ObjectType . (Ereditato da GlobalType)
Metodo protetto CreateInstance Crea un'istanza memorizzata nella cache dell'oggetto globale.
Metodo pubblico CreateObjRef Crea un oggetto che contiene tutte le informazioni rilevanti obbligatorio per generare un proxy utilizzato per comunicare con un oggetto remoto. (Ereditato da MarshalByRefObject)
Metodo pubblico Equals Verificare se l'oggetto specificato è uguale all'oggetto globale corrente. (Esegue l'override di GlobalType.Equals(Object)).
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico GetHashCode restituisce il codice hash per l'oggetto globale corrente. (Esegue l'override di GlobalType.GetHashCode()).
Metodo pubblico GetLifetimeService Recupera l'oggetto corrente del servizio di durata che controlla i criteri di durata dell'istanza. (Ereditato da MarshalByRefObject)
Metodo protetto GetObjectType restituisce il tipo di questo tipo globale. (Ereditato da GlobalType)
Metodo pubblico GetSerializer Restituisce il serializzatore controllato del tipo specificato per l'oggetto globale.
Metodo pubblico GetSerializerCore Restituisce un serializzatore del tipo specificato per l'oggetto globale.
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico InitializeLifetimeService Ottiene un oggetto di servizio di durata per controllare i criteri di durata dell'istanza. (Ereditato da MarshalByRefObject)
Metodo protetto MemberwiseClone() Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo protetto MemberwiseClone(Boolean) Crea una copia superficiale corrente MarshalByRefObject oggetto. (Ereditato da MarshalByRefObject)
Metodo protetto OnChanged Genera l'evento di Changed . (Ereditato da GlobalType)
Metodo protetto OnChanging Genera l'evento di Changing . (Ereditato da GlobalType)
Metodo protetto OnCreated Genera l'evento di Created .
Metodo protetto OnRemoved Genera l'evento di Removed . (Ereditato da GlobalType)
Metodo protetto OnRemoving Genera l'evento di Removing . (Ereditato da GlobalType)
Metodo protetto PerformChange Reinizializza l'oggetto globale e informati gli utenti alle modifiche apportate allo stato o forma. (Esegue l'override di GlobalType.PerformChange()).
Metodo protetto PerformRemove Rimuove l'oggetto globale e notifica agli utenti della rimozione. (Esegue l'override di GlobalType.PerformRemove()).
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Eventi

  Nome Descrizione
Evento pubblico Changed Si verifica dopo che il tipo globale corrente viene modificato. (Ereditato da GlobalType)
Evento pubblico Changing Si verifica prima che il tipo globale corrente venga modificato. (Ereditato da GlobalType)
Evento pubblico Created Si verifica quando un'istanza dell'oggetto globale viene creata.
Evento pubblico Removed Si verifica dopo che il tipo globale corrente viene rimosso da utilizzare. (Ereditato da GlobalType)
Evento pubblico Removing Si verifica prima che il tipo globale corrente sia stato rimosso da utilizzare. (Ereditato da GlobalType)

In alto

Note

Un oggetto globale è un oggetto accessibile su un intero progetto, anziché solo all'interno di una singola applicazione o di un singolo form.Ad esempio, gli progetto-ampi file di risorse forniti in un'applicazione Windows Form sono oggetti globali.gli oggetti globali hanno le seguenti caratteristiche:

  • Sono globali a un progetto e quindi singolo-sono citati ad esempio.

  • Si accede tramite un metodo statico o di una proprietà in una classe.

  • Vengono comunemente tipi personalizzati generati automaticamente dal sistema del progetto.

  • Vengono modificati di frequente come risultato delle azioni in altri file nel progetto.

  • È possibile eseguire il marshalling dal dominio predefinito in altri domini applicazione in quanto la classe di GlobalObject è derivata da System.MarshalByRefObject.Il marshalling richiede che l'istanza dell'oggetto globale sia serializzabile.

Mentre percepite gli oggetti globali come globali e questo è anche come si comportano in fase di esecuzione, in fase di progettazione in realtà sono citati ad esempio per ogni finestra di progettazione.Ciò consente ai progettisti di gestire le copie personali e per rimanere isolata.GlobalObjectService interagisce con le istanze di GlobalObject per creare le istanze di oggetti globali per ogni finestra di progettazione.

Gli oggetti globali non vengono creati direttamente; piuttosto, una chiamata al metodo di GetGlobalObjects della classe di GlobalObjectService avvia un processo che crea l'istanza dell'oggetto globale desiderata.

GlobalObject supporta inoltre la creazione di tipi globali.Un tipo globale è un oggetto definito ad esempio standard, ma il tipo per questo oggetto proviene da un progetto nella soluzione o dal codice generato.Per ulteriori informazioni sui tipi globali, vedere la classe base GlobalType.

Nella prima versione di .NET Framework, i tipi e le istanze vengono esposti tramite il sistema di riferimenti di progetto esistente.Poiché questo sistema utilizza reale, tipi che non era tuttavia sottoposto alle prestazioni inferiore, tipi di dati duplicati e dover riavviare l'ambiente di progettazione quando i tipi sono stati modificati.I tipi globali e tipi virtuali sono stati introdotti nella seconda versione del pacchetto gestito Framework per risolvere questi problemi.Un tipo virtuale consente la creazione dinamica di un tipo e delle istanze del tipo basato su una classe base esistente.I tipi compilati comuni mimici dei tipi virtuali una volta esaminati dalle API di reflection (API), ma non presentano un'implementazione della classe true.per ulteriori informazioni sui tipi virtuali, vedere la classe di VirtualTypeBuilder .

Esempi

Nell'esempio di codice seguente vengono illustrati alcuni oggetti globali.

DataSet cust = Customers.DefaultInstance;
String error = MyAppResources.ErrorString;
Bitmap logo = MyAppResources.ProductLogo;

Nell'esempio di codice seguente vengono illustrati alcuni tipi globali.

DataSet cust = new CustomerDataSet();

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

GlobalObjectService

GlobalObjectProvider

GlobalObjectProviderFactory

ProvideGlobalObjectProviderAttribute

VirtualTypeBuilder