Interfaccia Globals

L'oggetto Globals è una cache in cui vengono memorizzati i dati per la durata di ogni sessione dell'ambiente Visual Studio e di più sessioni che utilizzano la proprietà VariablePersists.

Spazio dei nomi:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

Sintassi

'Dichiarazione
<GuidAttribute("E68A3E0E-B435-4DDE-86B7-F5ADEFC19DF2")> _
Public Interface Globals
[GuidAttribute("E68A3E0E-B435-4DDE-86B7-F5ADEFC19DF2")]
public interface Globals
[GuidAttribute(L"E68A3E0E-B435-4DDE-86B7-F5ADEFC19DF2")]
public interface class Globals
[<GuidAttribute("E68A3E0E-B435-4DDE-86B7-F5ADEFC19DF2")>]
type Globals =  interface end
public interface Globals

Il tipo Globals espone i seguenti membri.

Proprietà

  Nome Descrizione
Proprietà pubblica DTE Ottiene l'oggetto estensibilità di primo livello.
Proprietà pubblica Parent Ottiene l'oggetto padre diretto di un oggetto Globals.
Proprietà pubblica VariableExists Restituisce un valore che indica se la variabile specificata esiste o meno.
Proprietà pubblica VariableNames Ottiene un elenco di tutti i nomi delle variabili globali correnti.
Proprietà pubblica VariablePersists La proprietà VariablePersists si applica a diversi tipi di oggetti Globals.Per l'oggetto DTE.Globals ottiene o imposta un valore che indica se la variabile viene conservata dall'ambiente ed è disponibile in più sessioni dell'ambiente.Per l'oggetto Solution.Globals ottiene o imposta un valore che indica se la variabile viene conservata dall'ambiente ed è disponibile in più sessioni dell'ambiente e tra il caricamento e lo scaricamento di una soluzione.Per l'oggetto Project.Globals ottiene o imposta un valore che indica se la variabile viene conservata dall'ambiente nel file di progetto.
Proprietà pubblica VariableValue Restituisce o imposta la variabile con il nome specificato.

In alto

Note

L'oggetto Globals consente ad esempio di utilizzare nei programmi variabili globali i cui parametri vengono mantenuti per più esecuzioni. Può inoltre essere utilizzato per l'implementazione di un valore predefinito tramite un comando, se viene richiesta all'utente l'immissione di informazioni a ogni esecuzione. Un ulteriore utilizzo è rappresentato dalla modifica del comportamento dell'oggetto stesso quando è stato richiamato un determinato numero di volte.

I dati vengono memorizzati nell'oggetto Globals sotto forma di coppie nome/valore Variant. Queste coppie nome/valore possono essere archiviate facoltativamente su disco utilizzando la proprietà VariablePersists per preservarne lo stato, in forma di stringa, tra diverse sessioni di Visual Studio.

Nota

Non è possibile salvare variabili che contengono oggetti o SafeArrays. Se il valore può essere salvato come stringa, verrà salvato nel proprio formato nativo.

Con i componenti aggiuntivi o le macro è possibile utilizzare anche l'oggetto Globals, per salvare i dati definiti dall'utente e univoci fra più sessioni di Visual Studio. È inoltre possibile utilizzare l'oggetto Globals per salvare e recuperare dati da un file di soluzione (sln).

Utilizzare la proprietà VariableValue per salvare o leggere i valori salvati tramite l'oggetto Globals.

Nota

Le stringhe di nome di VariableValue non possono contenere spazi, due punti (:) o punti (.). Se un nome contiene uno di questi caratteri, viene restituito l'errore "Valore non compreso nell'intervallo previsto".

Esempi

Sub OnAddinLoaded(ByVal dte As DTE)
    ' Count the number of times an add-in is loaded
    ' and store the value in the solution.
    Dim globals As Globals
    globals = dte.Solution.Globals
    If globals.VariableExists("AddinLoadCounter") Then
        ' The counter has already been set, so increment it.
        Dim int32 As System.Int32
        int32 = System.Int32.Parse(CStr(globals("AddinLoadCounter")))
        int32 += 1
        globals("AddinLoadCounter") = int32.ToString()
    Else
        ' Counter has never been set, so create and initialize it.
        globals("AddinLoadCounter") = 1.ToString()
        globals.VariablePersists("AddinLoadCounter") = True
    End If
    MsgBox("This add-in has been loaded: " & _
    globals.VariableValue("AddinLoadCounter") & " times.")
End Sub
void OnAddinLoaded(_DTE applicationObject)
{
    // Count the number of times an add-in is loaded
    // and store the value in the solution.
    Globals globals;
    globals = applicationObject.Solution.Globals;
    if(globals.get_VariableExists("AddinLoadCounter"))
    {
        // The counter has already been set, so increment it.
        System.Int32 int32;
        int32 = System.Int32.Parse((string)
        globals["AddinLoadCounter"]);
        int32++;
        globals["AddinLoadCounter"] = int32.ToString();
    }
    else
    {
        // Counter has never been set, so create and initialize it.
        globals["AddinLoadCounter"] = 1.ToString();
        globals.set_VariablePersists("AddinLoadCounter", true);
    }
    System.Windows.Forms.MessageBox.Show("This add-in has been loaded: 
    " + globals.VariableValue["AddinLoadCounter"] + " times.");
}

Vedere anche

Riferimenti

Spazio dei nomi EnvDTE

Altre risorse

Mantenimento delle informazioni in progetti e soluzioni