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: StringErforderlich. 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
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.
Siehe auch
Referenz
Weitere Ressourcen
Persistente Daten in Projekten und Projektmappen
Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell