Globals, interface

L'objet Globals est un cache qui permet de stocker les données pour la durée de chaque session dans l'environnement Visual Studio, ainsi qu'entre les sessions à l'aide de la propriété VariablePersists.

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

Syntaxe

'Déclaration
<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

Le type Globals expose les membres suivants.

Propriétés

  Nom Description
Propriété publique DTE Obtient l'objet d'extensibilité de niveau supérieur.
Propriété publique Parent Obtient l'objet parent immédiat d'un objet Globals.
Propriété publique VariableExists Retourne une valeur indiquant si la variable spécifiée existe.
Propriété publique VariableNames Obtient une liste de tous les noms de variables globales actuelles.
Propriété publique VariablePersists 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.
Propriété publique VariableValue Retourne ou définit la variable avec le nom spécifié.

Début

Notes

L'objet Globals, par exemple, permet aux programmes d'utiliser des variables globales dont les valeurs persistent entre les exécutions. Il permet également à une commande d'implémenter une valeur par défaut s'il demande à l'utilisateur d'entrer des informations chaque fois qu'il exécute. En outre, il permet de modifier son comportement après avoir été appelé un certain nombre de fois.

Les données sont stockées dans l'objet Globals sous forme de paires nom/valeur variant. Ces paires nom/valeur peuvent éventuellement être stockées sur le disque à l'aide de la propriété VariablePersists pour maintenir leur état (comme une chaîne) entre différentes sessions de Visual Studio.

Notes

Les variables contenant des objets ou SafeArrays ne peuvent pas être enregistrées. Si la valeur peut être enregistrée en tant que chaîne, elle est enregistrée dans son format natif.

Les compléments ou les macros peuvent également utiliser l'objet Globals pour enregistrer les données définies par l'utilisateur qui sont spécifiques à chaque utilisateur entre des sessions Visual Studio. Ils peuvent également utiliser l'objet Globals pour enregistrer et récupérer les données à partir d'un fichier solution (.sln).

Utilisez la propriété VariableValue pour enregistrer ou lire les valeurs enregistrées avec l'objet Globals.

Notes

Les noms de chaînes VariableValue ne peuvent pas contenir les caractères suivants : espace, signe deux-points (:) ou point (.) Si un nom contient un de ces caractères, 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.");
}

Voir aussi

Référence

EnvDTE, espace de noms

Autres ressources

Persistance d'informations dans des projets et des solutions