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". |