Condividi tramite


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

Vedere anche

Riferimenti

Globals Interfaccia

Spazio dei nomi EnvDTE

Altre risorse

Mantenimento delle informazioni in progetti e soluzioni

Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione