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 | |
---|---|---|
DTE | Ottiene l'oggetto estensibilità di primo livello. | |
Parent | Ottiene l'oggetto padre diretto di un oggetto Globals. | |
VariableExists | Restituisce un valore che indica se la variabile specificata esiste o meno. | |
VariableNames | Ottiene un elenco di tutti i nomi delle variabili globali correnti. | |
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. | |
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.");
}