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
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 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
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.
Vea también
Referencia
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