Proprietà Globals.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.
Spazio dei nomi: EnvDTE
Assembly: EnvDTE (in EnvDTE.dll)
Sintassi
'Dichiarazione
Property VariablePersists ( _
VariableName As String _
) As Boolean
Get
Set
bool this[
string VariableName
] { get; set; }
property bool VariablePersists[String^ VariableName] {
bool get (String^ VariableName);
void set (String^ VariableName, bool value);
}
abstract VariablePersists : bool with get, set
JScript non supporta le proprietà indicizzate.
Parametri
- VariableName
Tipo: System.String
Obbligatorio.Rappresenta il nome della variabile da conservare.
Valore proprietà
Tipo: System.Boolean
Valore Boolean se esiste o meno la variabile.VariablePersists restituisce true se esiste la variabile, in caso contrario restituisce false.
Note
Sebbene le variabili globali vengano sempre conservate all'interno di una sessione di Visual Studio, la proprietà VariablePersists consente che queste variabili vengano mantenute anche tra sessioni diverse.
Nota
Per salvare le variabili con una particolare soluzione, utilizzare DTE.Solution.Globals.
Se la variabile non esiste, la proprietà VariablePersists restituisce false.
Per l'oggetto Solution (Solution.Globals), i dati vengono salvati quando si salva la soluzione. Modificando l'oggetto Globals il file di soluzione verrà contrassegnato come modificato. Nel caso dell'oggetto DTE (DTE.Globals) i dati vengono salvati quando si chiude l'ambiente di Visual Studio o si salva una soluzione. In entrambi i casi, i dati vengono memorizzati nel file di soluzione (sln) oppure nel file di archiviazione strutturata nella directory dei profili utente.
Quando l'ambiente viene chiuso o si esegue il comando Save All tutti i valori globali vengono salvati. Se la proprietà VariablePersists è associata all'oggetto DTE, il valore verrà salvato nella directory delle opzioni utente dell'ambiente di Visual Studio.
Se la variabile globale è associata all'oggetto Solution il valore verrà invece salvato nel file di soluzione (sln). I valori vengono salvati ogni volta che l'ambiente scrive il file SLN.
Tutte le variabili salvate andranno a sovrascrivere i valori salvati precedentemente. Per rimuovere una variabile dal file salvato, impostare la proprietà VariablePersists su false. L'ambiente rimuoverà il valore durante la successiva operazione Save.
Nota
I nomi della VariableValue non possono contenere spazi. In caso sia contenuto anche un solo spazio, verrà restituito un errore, dato che il valore non rientra nell'intervallo prestabilito.
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.");
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.
Vedere anche
Riferimenti
Altre risorse
Mantenimento delle informazioni in progetti e soluzioni
Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione