Interface Globals
O Globals o objeto é um cache para armazenar os dados para a duração de cada sessão da Visual Studio ambiente, bem como nas sessões usando o VariablePersists propriedade.
Namespace: EnvDTE
Assembly: EnvDTE (em EnvDTE.dll)
Sintaxe
'Declaração
<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
O tipo Globals expõe os membros a seguir.
Propriedades
Nome | Descrição | |
---|---|---|
DTE | Obtém o objeto de extensibilidade de nível superior. | |
Parent | Obtém o objeto pai imediato de um Globals objeto. | |
VariableExists | Retorna se a variável especificada existe. | |
VariableNames | Obtém uma lista de todos os nomes de variáveis globais atuais. | |
VariablePersists | O VariablePersists a propriedade se aplica a vários tipos de Globals objetos.Para o DTE.Globals o objeto, ele obtém ou define se a variável é mantida pelo ambiente e está disponível entre as sessões do ambiente.Para o Solution.Globals o objeto, ele obtém ou define se a variável é mantida pelo ambiente e está disponível entre sessões do ambiente e entre o carregamento e descarregamento da solução.Para o Project.Globals o objeto, ele obtém ou define se a variável é mantida pelo ambiente do arquivo de projeto. | |
VariableValue | Retorna ou define a variável com o nome especificado. |
Início
Comentários
O Globals objeto, por exemplo, permite que os programas possuem variáveis globais, cujos valores persistem entre execuções. Ele também pode ser usado para permitir que um comando para implementar um valor padrão se ele requer que o usuário insira informações cada vez que ele executa. Além disso, ele pode ser usado para alterar seu comportamento depois que ele foi invocado de um determinado número de vezes.
Os dados são armazenados na Globals o objeto como pares de variante/nome-valor. Esses pares nome/valor opcionalmente podem ser armazenados no disco usando o VariablePersists propriedade para manter o seu estado (como uma seqüência de caracteres) entre diferentes sessões de Visual Studio.
Observação |
---|
Variáveis que contêm objetos ou SafeArrays não podem ser salvos. Se o valor pode ser salvo como uma seqüência de caracteres, ele é salvo no formato nativo. |
Suplementos ou macros também podem usar o Globals objeto para salvar os dados definidos pelo usuário exclusivos para cada usuário entre Visual Studio sessões. Eles também podem usar o Globals o objeto para salvar os dados e recuperar dados a partir de um arquivo de solução (. sln).
Use o VariableValue propriedade para salvar ou ler os valores salvos com o Globals objeto.
Observação |
---|
VariableValueseqüências de caracteres de nome não podem conter espaço, dois-pontos (:), ou period(.) caracteres. Se um nome tiver qualquer um desses caracteres, você obtém o erro, "O valor não recai no intervalo esperado." |
Exemplos
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.");
}