Personalizando quais objetos estão disponíveis em My (Visual Basic)

Esse tópico descreve como controlar quais objetos My são habilitados definindo-se a constante de compilação condicional _MYTYPE do projeto. O IDE (Ambiente de Desenvolvimento Integrado) do Visual Studio mantém a constante de compilação condicional _MYTYPE para um projeto em sincronia com o tipo do projeto.

Valores de _MYTYPE predefinidos

Você deve usar a opção do compilador /define para definir a constante de compilação condicional _MYTYPE. Ao especificar seu próprio valor para a constante _MYTYPE, você deve colocar o valor da cadeia de caracteres em sequências de barra invertida/aspas (\"). Por exemplo, você pode usar:

/define:_MYTYPE=\"WindowsForms\"  

Esta tabela mostra como a constante de compilação condicional _MYTYPE está definida para vários tipos de projeto.

Tipo de projeto Valor _MYTYPE
Biblioteca de Classes “Windows”
Aplicativo do Console "Console"
Web "Web"
Biblioteca de Controles da Web "WebControl"
Aplicativo do Windows "WindowsForms"
Aplicativo do Windows, ao começar com o Sub Main personalizado "WindowsFormsWithCustomSubMain"
Biblioteca de Controle do Windows “Windows”
Serviço Windows "Console"
Vazio "Empty"

Observação

Todas as comparações de cadeia de caracteres de compilação condicional diferenciam maiúsculas de minúsculas, independentemente de como a instrução Option Compare é definida.

Constantes de compilação de _MY dependentes

A constante de compilação condicional _MYTYPE, por sua vez, controla os valores de várias outras constantes de compilação _MY:

_MYTYPE _MYAPPLICATIONTYPE _MYCOMPUTERTYPE _MYFORMS _MYUSERTYPE _MYWEBSERVICES
"Console" "Console" “Windows” Indefinido “Windows” TRUE
“Personalizado” Indefinido Indefinido Indefinido Indefinido Indefinido
"Empty" Indefinido Indefinido Indefinido Indefinido Indefinido
"Web" Indefinido "Web" FALSE "Web" FALSE
"WebControl" Indefinido "Web" FALSE "Web" TRUE
"Windows" ou "" “Windows” “Windows” Indefinido “Windows” TRUE
"WindowsForms" "WindowsForms" “Windows” TRUE “Windows” TRUE
"WindowsFormsWithCustomSubMain" "Console" “Windows” TRUE “Windows” TRUE

Por padrão, as constantes de compilação condicional indefinidas são resolvidas para FALSE. Você pode especificar valores para as constantes indefinidas ao compilar seu projeto para substituir o comportamento padrão.

Observação

Quando _MYTYPE é definido como "Personalizado", o projeto contém o namespace My, mas não contém objetos. No entanto, a configuração _MYTYPE como "Vazio" impede que o compilador adicione o namespace My e seus objetos.

Esta tabela descreve os efeitos dos valores predefinidos das constantes de compilação _MY.

Constante Significado
_MYAPPLICATIONTYPE Habilita My.Application, se a constante for "Console", "Windows" ou "WindowsForms":

– A versão de "Console" deriva de ConsoleApplicationBase. e tem menos membros do que a versão "Windows".
– A versão "Windows" deriva de ApplicationBase e tem menos membros do que a versão "WindowsForms".
– A versão "WindowsForms" de My.Application deriva de WindowsFormsApplicationBase. Se a constante TARGET for definida como "winexe", a classe incluirá um método Sub Main.
_MYCOMPUTERTYPE Habilita My.Computer, se a constante for "Web" ou "Windows":

– A versão "Web" deriva de ServerComputer e tem menos membros do que a versão "Windows".
– A versão "Windows" de My.Computer deriva de Computer.
_MYFORMS Habilita My.Forms, se a constante for TRUE.
_MYUSERTYPE Habilita My.User, se a constante for "Web" ou "Windows":

– A versão "Web" My.User está associada à identidade do usuário da solicitação HTTP atual.
– A versão "Windows" de My.User está associada à entidade de segurança atual do thread.
_MYWEBSERVICES Habilita My.WebServices, se a constante for TRUE.
_MYTYPE Habilita My.Log, My.Request e My.Response, se a constante for "Web".

Confira também