Globals-Schnittstelle
Das Globals-Objekt stellt einen Cache dar, der zum Speichern von Daten für die Dauer einer Sitzung in der Visual Studio-Umgebung sowie sitzungsübergreifend unter Verwendung der VariablePersists-Eigenschaft eingesetzt werden kann.
Namespace: EnvDTE
Assembly: EnvDTE (in EnvDTE.dll)
Syntax
'Declaration
<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
Der Globals-Typ macht die folgenden Member verfügbar.
Eigenschaften
Name | Beschreibung | |
---|---|---|
DTE | Ruft das Erweiterbarkeitsobjekt der obersten Ebene ab. | |
Parent | Ruft das unmittelbar übergeordnete Objekt eines Globals-Objekts ab. | |
VariableExists | Gibt zurück, ob die angegebene Variable vorhanden ist. | |
VariableNames | Ruft eine Liste der Namen aller aktuellen globalen Variablen ab. | |
VariablePersists | 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. | |
VariableValue | Gibt die Variable mit dem angegebenen Namen zurück oder setzt diese. |
Zum Seitenanfang
Hinweise
Durch das Globals-Objekt können Programme beispielsweise globale Variablen enthalten, deren Werte nach der Ausführung beibehalten werden.Es kann außerdem verwendet werden, um für einen Befehl die Implementierung eines Standardwerts zu ermöglichen, falls bei jeder Befehlsausführung eine Benutzereingabe erforderlich ist.Darüber hinaus kann das Objekt sein Verhalten ändern, nachdem es eine bestimmte Anzahl von Aufrufen empfangen hat.
Daten werden im Globals-Objekt als aus Namen und Variante bestehende Wertpaare gespeichert.Diese aus Namen und Wert bestehenden Paare können optional auf dem Datenträger gespeichert werden. Dabei wird die VariablePersists-Eigenschaft verwendet, um ihren Zustand (als Zeichenfolge) von einer Visual Studio-Sitzung zur nächsten beizubehalten.
Hinweis |
---|
Variablen, die Objekte oder SafeArrays enthalten, können nicht gespeichert werden.Wenn der Wert als Zeichenfolge gespeichert werden kann, wird er im systemeigenen Format gespeichert. |
Add-Ins oder Makros können das Globals-Objekt außerdem zur Speicherung von benutzerdefinierten Daten zwischen Visual Studio-Sitzungen verwenden.Darüber hinaus können sie mithilfe des Globals-Objekts Daten in einer Projektmappendatei (SLN-Datei) speichern und diese Daten wieder abrufen.
Verwenden Sie die VariableValue-Eigenschaft, um mit dem Globals-Objekt gespeicherte Werte zu speichern oder zu lesen.
Hinweis |
---|
VariableValue-Namenszeichenfolgen dürfen keine Leerzeichen, Doppelpunkte (:) oder Punkte (.) enthalten.Wenn eines dieser Zeichen in einem Namen enthalten ist, 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.");
}