Compartir a través de


Globals.VariablePersists (Propiedad)

La propiedad VariablePersists se aplica a varios tipos de objetos Globals.Para el objeto DTE.Globals, obtiene o establece si el entorno debe conservar la variable y si está disponible entre distintas sesiones del entorno.Para el objeto Solution.Globals, obtiene o establece si el entorno debe conservar la variable, y si está disponible entre distintas sesiones del entorno y entre la carga y la descarga de una solución.Para el objeto Project.Globals, obtiene o establece si el entrono deber conservar la variable en el archivo de proyecto.

Espacio de nombres:  EnvDTE
Ensamblado:  EnvDTE (en EnvDTE.dll)

Sintaxis

'Declaración
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 : bool with get, set
JScript no admite propiedades indizadas.

Parámetros

  • VariableName
    Tipo: System.String
    Obligatorio.Representa el nombre de la variable que se conservará.

Valor de propiedad

Tipo: System.Boolean
Valor booleano que indica si una variable existe o no. VariablePersists devuelve true si existe una variable; de lo contrario, devuelve false.

Comentarios

Aunque las variables de tipo Global siempre persisten dentro de una sesión de Visual Studio, VariablePersists permite que estas variables persistan entre distintas sesiones.

[!NOTA]

Para guardar variables con una solución determinada, utilice DTE.Solution.Globals.

Si la variable no existe, VariablePersists devuelve false.

En el caso del objeto Solution (Solution.Globals), los datos se guardan siempre que se guarda la solución.Si se modifica el objeto Globals, el archivo de solución se marca como modificado (o "sucio").En el caso del objeto DTE (DTE.Globals), los datos se guardan cuando se cierra el entorno de Visual Studio o cuando se guarda una solución.En ambos casos, los datos se almacenan en el archivo de solución (.sln) o en el archivo de almacenamiento estructurado dentro del directorio de perfiles de usuario.

Cuando el entorno se cierra o se produce Save All, se guardan todos los valores globales.Si VariablePersists está asociado al objeto DTE, el valor se guarda en el directorio de opciones del usuario del entorno de Visual Studio.

Si la variable global está asociada al objeto Solution, el valor se guarda en el archivo de solución (.sln).Los valores se guardan cada vez que el entorno escribe en el archivo .sln.

Las variables guardadas sobrescriben los valores previamente guardados.Para quitar una variable del archivo guardado, se debe establecer la propiedad VariablePersists en false.El entorno quitará su valor durante la siguiente operación Save.

[!NOTA]

Los nombres VariableValue no pueden contener espacios en blanco.Si alguno los contiene, aparecerá el error: El valor no aparece dentro del intervalo esperado.

Ejemplos

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

Seguridad de .NET Framework

Vea también

Referencia

Globals Interfaz

EnvDTE (Espacio de nombres)

Otros recursos

Guardar información en proyectos y soluciones

Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización