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
- Confiance totale accordée à l'appelant immédiat. Ce membre ne peut pas être utilisé par du code d'un niveau de confiance partiel. Pour plus d'informations, consultez Utilisation de bibliothèques à partir de code d'un niveau de confiance partiel.
Voir aussi
Référence
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