Partager via


Globals.VariablePersists, propriété

La propriété VariablePersists s'applique à plusieurs types d'objets Globals. Pour l'objet DTE.Globals, elle obtient ou définit une valeur indiquant si la variable est conservée par l'environnement et disponible entre les sessions de l'environnement. Pour l'objet Solution.Globals, elle obtient ou définit une valeur indiquant si la variable est conservée par l'environnement et disponible entre les sessions de l'environnement et entre les chargements et les déchargements d'une solution. Pour l'objet Project.Globals, elle obtient ou définit une valeur indiquant si la variable est conservée par l'environnement dans le fichier projet.

Espace de noms :  EnvDTE
Assembly :  EnvDTE (dans EnvDTE.dll)

Syntaxe

'Déclaration
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 ne prend pas en charge les propriétés indexées.

Paramètres

  • VariableName
    Type : System.String
    Obligatoire.Représente le nom de la variable à conserver.

Valeur de propriété

Type : System.Boolean
Valeur booléenne indiquant si une variable existe ou non.VariablePersists retourne la valeur true si une variable existe ; dans le cas contraire, retourne la valeur false.

Notes

Bien que les variables globales soient persistantes au sein d'une session Visual Studio, VariablePersists permet à ces variables de persister entre les sessions.

Notes

Pour enregistrer des variables avec une solution particulière, utilisez DTE.Solution.Globals.

Si la variable n'existe pas, VariablePersists retourne false.

Pour l'objet Solution (Solution.Globals), les données sont enregistrées lorsque la solution est enregistrée. Le fichier solution est marqué comme étant modifié (ou « impropre ») lorsque l'objet Globals est modifié. Pour l'objet DTE (DTE.Globals), les données sont enregistrées à l'arrêt de l'environnement Visual Studio ou à l'enregistrement d'une solution. Dans les deux cas, les données sont stockées dans le fichier solution (.sln) ou dans le fichier de stockage structuré dans le répertoire User Profiles.

Lorsque l'environnement est arrêté ou qu'une commande Save All est exécutée, toutes les valeurs globales sont enregistrées. Si VariablePersists est associé à l'objet DTE, la valeur est enregistrée dans le répertoire d'options utilisateur de l'environnement Visual Studio.

Si la variable globale est associée à l'objet Solution, alors la valeur est enregistrée dans le fichier solution (.sln). Les valeurs sont enregistrées chaque fois que l'environnement écrit le fichier .sln.

Toutes les variables enregistrées remplacent les valeurs précédemment enregistrées. Pour supprimer une variable du fichier enregistré, affectez la valeur false à VariablePersists. L'environnement supprimera sa valeur au cours de l'opération Save.

Notes

Les noms de VariableValue ne peuvent pas contenir d'espace. S'ils en contiennent, le message d'erreur "La valeur n'est pas comprise dans la plage attendue" s'affiche.

Exemples

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

Sécurité .NET Framework

Voir aussi

Référence

Globals Interface

EnvDTE, espace de noms

Autres ressources

Persistance d'informations dans des projets et des solutions

Comment : compiler et exécuter les exemples de code du modèle objet Automation