Udostępnij za pośrednictwem


Właściwość Globals.VariablePersists —

VariablePersists Właściwość stosuje się do kilku typów Globals obiektów.Dla DTE.Globals obiekt pobiera lub ustawia, czy zmienna jest zachowywana przez środowisko naturalne i jest dostępny między sesjami środowiska.Dla Solution.Globals obiekt pobiera lub ustawia, czy zmienna jest zachowywana przez środowisko naturalne i jest dostępny, między sesjami środowiska naturalnego oraz między załadunku i rozładunku roztworu.Dla Project.Globals obiekt pobiera lub ustawia, czy zmienna jest zachowywana przez środowiska w pliku projektu.

Przestrzeń nazw:  EnvDTE
Zestaw:  EnvDTE (w EnvDTE.dll)

Składnia

'Deklaracja
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
Język JScript nie obsługuje właściwości indeksowanych.

Parametry

  • VariableName
    Typ: String

    Wymagane.Reprezentuje nazwę zmiennej, aby zachować.

Wartość właściwości

Typ: Boolean
Wartość logiczna wskazująca, czy nie istnieje zmienna. VariablePersists Zwraca true , jeśli istnieje zmienna, w przeciwnym razie zwraca false.

Uwagi

Chociaż zmienne globalne są zawsze utrzymują w ramach sesji z Visual Studio, VariablePersists umożliwia tych zmiennych do utrwalania między sesjami.

[!UWAGA]

Aby zapisać zmiennych z danego rozwiązania, należy użyć DTE.Solution.Globals.

Jeśli zmienna nie istnieje, VariablePersists zwraca false.

Dla Solution obiektu (Solution.Globals), dane są zapisywane w każdym przypadku, gdy roztwór jest zapisywany.Modyfikowanie Globals obiektu powoduje, że plik rozwiązania, które stają się oznaczone jako edycji (lub "dirty").Dla DTE obiektu (DTE.Globals), dane są zapisywane albo gdy Visual Studio środowisko jest wyłączony lub gdy roztwór jest zapisywany.W obu przypadkach dane są przechowywane w pliku rozwiązania (.sln) lub w pliku składowania strukturalnego w katalogu profili użytkownika.

Podczas zamykania środowiska lub Save All występuje zapisywane są wszystkie wartości globalnych.Jeśli VariablePersists jest skojarzony z DTE obiektu w katalogu opcje użytkownika jest zapisywana wartość Visual Studio środowiska.

Jeśli zmienna globalna jest skojarzony z Solution obiekt, a następnie wartość jest zapisywany w pliku rozwiązania (.sln).Wartości są zapisywane w dowolnym momencie środowiska zapisuje plik .sln.

Wszystkie zmienne zapisane zastąpienie poprzednio zapisane wartości.Aby usunąć zmienną z zapisanego pliku, należy ustawić VariablePersists do false.Środowiska spowoduje usunięcie jej wartość podczas następnego Save operacji.

[!UWAGA]

VariableValuenazwy nie mogą zawierać spacji.Jeżeli tak, komunikat o błędzie, wartość nie wchodzą w zakres oczekiwanego.

Przykłady

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

Zabezpieczenia programu .NET Framework

Zobacz też

Informacje

Globals Interfejs

Przestrzeń nazw EnvDTE

Inne zasoby

Przechowywanie informacji w projektach i rozwiązaniach

Porady: kompilowanie i uruchamianie kodu modelu obiektów automatyzacji — przykłady