Compartir a través de


Globals (Interfaz)

El objeto Globals es una caché para almacenar datos durante cada sesión del entorno de Visual Studio, así como durante varias sesiones mediante la propiedad VariablePersists.

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

Sintaxis

'Declaración
<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

El tipo Globals expone los siguientes miembros.

Propiedades

  Nombre Descripción
Propiedad pública DTE Obtiene el objeto de extensibilidad de nivel superior.
Propiedad pública Parent Obtiene el objeto primario inmediato de un objeto Globals.
Propiedad pública VariableExists Indica si la variable especificada existe.
Propiedad pública VariableNames Obtiene una lista de todos los nombres de variables globales actuales.
Propiedad pública VariablePersists 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.
Propiedad pública VariableValue Devuelve o establece la variable que tiene el nombre especificado.

Arriba

Comentarios

El objeto Globals permite, por ejemplo, que los programas tengan variables globales cuyos valores persistan entre distintas ejecuciones. También puede utilizarse para permitir que un comando implemente un valor predeterminado si exige al usuario que escriba información cada vez que se ejecuta. Además, puede utilizarse para cambiar su comportamiento después de haberse invocado cierto número de veces.

Los datos se almacenan en el objeto Globals como pares de nombre y valor de tipo Variant. Estos pares de nombre y valor pueden almacenarse opcionalmente en disco utilizando la propiedad VariablePersists para mantener su estado (como una cadena) entre las distintas sesiones de Visual Studio.

Nota

No se pueden guardar las variables que contienen objetos o SafeArrays. Si el valor se puede guardar como una cadena, se guarda en formato nativo.

Los complementos o las macros también pueden utilizar el objeto Globals para guardar datos únicos definidos por cada usuario entre distintas sesiones de Visual Studio. Además, pueden utilizar el objeto Globals para guardar datos en un archivo de solución (.sln) y recuperarlos del mismo.

Utilice la propiedad VariableValue para guardar o leer valores guardados con el objeto Globals.

Nota

Las cadenas de nombre de VariableValue no pueden contener los caracteres de espacio, dos puntos (:) ni punto (.). Si un nombre tiene cualquiera de estos caracteres, obtendrá el error "El valor no está 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.");
}

Vea también

Referencia

EnvDTE (Espacio de nombres)

Otros recursos

Guardar información en proyectos y soluciones