Freigeben über


Globals.VariablePersists-Eigenschaft

Die VariablePersists-Eigenschaft gilt für mehrere Typen von Globals-Objekten. Sie ruft für das DTE.Globals-Objekt ab, ob die Variable von der Umgebung beibehalten wird und zwischen Sitzungen in der Umgebung verfügbar ist, bzw. legt dies fest. Sie ruft für das Solution.Globals-Objekt ab, ob die Variable von der Umgebung beibehalten wird und zwischen Sitzungen in der Umgebung sowie zwischen dem Laden und Entladen einer Projektmappe verfügbar ist, bzw. legt dies fest. Sie ruft für das Project.Globals-Objekt ab, ob die Variable von der Umgebung in der Projektdatei beibehalten wird, bzw. legt dies fest.

Namespace:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

Syntax

'Declaration
Property VariablePersists ( _
    VariableName As String _
) As Boolean
bool this[
    string VariableName
] { get; set; }
property bool VariablePersists[String^ VariableName] {
    bool get (String^ VariableName);
    void set (String^ VariableName, bool value);
}
abstract VariablePersists : 
        VariableName:string -> bool with get, set
JScript unterstützt keine indizierten Eigenschaften.

Parameter

  • VariableName
    Typ: String

    Erforderlich. Stellt den Namen der beizubehaltenden Variablen dar.

Eigenschaftswert

Typ: Boolean
Ein boolescher Wert, der angibt, ob eine Variable vorhanden ist.VariablePersists gibt true zurück, wenn eine Variable vorhanden ist, und andernfalls false.

Hinweise

Globale Variablen werden immer für die Dauer einer Visual Studio-Sitzung beibehalten, mit VariablePersists können diese Variablen jedoch zwischen Sitzungen beibehalten werden.

Hinweis

Um Variablen mit einer bestimmten Projektmappe zu speichern, verwenden Sie DTE.Solution.Globals.

Wenn die Variable nicht vorhanden ist, wird von VariablePersists false zurückgegeben.

Für das Solution-Objekt (Solution.Globals) werden bei jedem Speichern der Projektmappe Daten gespeichert. Eine Änderung des Globals-Objekts bewirkt, dass die Projektmappendatei als bearbeitet (oder geändert) markiert wird. Für das DTE-Objekt (DTE.Globals) werden Daten gespeichert, wenn die Visual Studio-Umgebung beendet oder eine Projektmappe gespeichert wird. In beiden Fällen werden die Daten entweder in der Projektmappendatei (SLN-Datei) oder in der strukturierten Speicherdatei im Verzeichnis Benutzerprofile gespeichert.

Wenn die Umgebung beendet oder Save All ausgeführt wird, werden alle globalen Werte gespeichert. Wenn VariablePersists dem DTE-Objekt zugeordnet ist, wird der Wert im Verzeichnis für Benutzeroptionen der Visual Studio-Umgebung gespeichert.

Ist die globale Variable dem Solution-Objekt zugeordnet, wird der Wert in der Projektmappendatei (SLN-Datei) gespeichert. Die Werte werden bei jedem Schreiben der .sln-Datei durch die Umgebung gespeichert.

Alle gespeicherten Variablen überschreiben bereits gespeicherte Werte. Um eine Variable aus der gespeicherten Datei zu entfernen, legen Sie VariablePersists auf false fest. Der entsprechende Wert wird von der Umgebung beim nächsten Save-Vorgang entfernt.

Hinweis

VariableValue-Namen dürfen keine Leerzeichen enthalten.Andernfalls wird eine Fehlermeldung mit dem Hinweis ausgegeben, dass der Wert nicht innerhalb des erwarteten Bereichs liegt.

Beispiele

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.");
}

.NET Framework-Sicherheit

Siehe auch

Referenz

Globals Schnittstelle

EnvDTE-Namespace

Weitere Ressourcen

Persistente Daten in Projekten und Projektmappen

Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell