Personalizando quais objetos estão disponíveis no meu (Visual Basic)

Este tópico descreve como você pode controlar quais objetos My são ativados pela configuração da constante de compilação condicional _MYTYPE do seu projeto.O Integrated Development Environment (IDE) do Visual Studio mantém a constante de compilação condicional _MYTYPE de um projeto em sincronia com o tipo do projeto.

Valores _MYTYPE Predefinidos

Você deve usar o opção de 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 sequência de caracteres em sequências de marcas de barra invertida/aspas (\") .Por exemplo, você pode usar:

/define:_MYTYPE=\"WindowsForms\"

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

Tipo de Projeto

Valor de _MYTYPE

Biblioteca de Classe

"Windows"

Aplicativo de Console

"Console"

Web

"Web"

Biblioteca de Controle da Web

"WebControl"

Aplicativo do Windows

"WindowsForms"

Aplicativo do Windows, quando inicia com Sub Main personalizado

"WindowsFormsWithCustomSubMain"

Biblioteca de Controle do Windows

"Windows"

Serviço do Windows

"Console"

Vazio

"Empty"

ObservaçãoObservação

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

Constantes de Compilação dependentes do _MY

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"

Undefined

"Windows"

TRUE

"Custom"

Undefined

Undefined

Undefined

Undefined

Undefined

"Empty"

Undefined

Undefined

Undefined

Undefined

Undefined

"Web"

Undefined

"Web"

FALSE

"Web"

FALSE

"WebControl"

Undefined

"Web"

FALSE

"Web"

TRUE

"Windows" ou ""

"Windows"

"Windows"

Undefined

"Windows"

TRUE

"WindowsForms"

"WindowsForms"

"Windows"

TRUE

"Windows"

TRUE

"WindowsFormsWithCustomSubMain"

"Console"

"Windows"

TRUE

"Windows"

TRUE

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

ObservaçãoObservação

Quando _MYTYPE é definido como "Custom", o projeto contém o namespace My, mas ele não contém objetos.No entanto, a definição de _MYTYPE como "Empty" impede que o compilador adicione o namespace My e seus objetos.

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

Constante

Significado

_MYAPPLICATIONTYPE

Habilita My.Application, se a constante é "Console", "Windows" ou "WindowsForms":

  • A versão de "Console" deriva de ConsoleApplicationBase.e tem menos membros do que a versão de "Windows".

  • A versão "Windows" é derivada de ApplicationBase, e tem menos participantes que a versão "WindowsForms".

  • A versão "WindowsForms" de My.Application deriva de WindowsFormsApplicationBase.Se a constante TARGET estiver definida como "winexe", então a classe inclui um método Sub Main.

_MYCOMPUTERTYPE

Habilita My.Computer se a constante é "Web" ou "Windows":

  • A versão "Web" é derivada de ServerComputer, e tem menos participantes que a versão "Windows".

  • A versão "Windows" de My.Computer deriva de Computer.

_MYFORMS

Habilita My.Forms, se a constante é TRUE.

_MYUSERTYPE

Habilita My.User se a constante é "Web" ou "Windows":

  • A versão "Web" do My.User está associada com a identidade do usuário da solicitação HTTP atual.

  • A versão "Windows" do My.User está associada com o principal atual da thread.

_MYWEBSERVICES

Habilita My.WebServices, se a constante é TRUE.

_MYTYPE

Habilita My.Log, My.Request e My.Response, se a constante é "Web".

Consulte também

Referência

/Define (Visual Basic)

ApplicationBase

Computer

Objeto My.Forms

Log

Objeto My.Request

Objeto My.Response

User

Objeto My.WebServices

Conceitos

Como meu depende do tipo de projeto (Visual Basic)

Outros recursos

Compilação condicional no Visual Basic