Personalizar los objetos que están disponibles en My (Visual Basic)
En este tema se describe cómo puede controlar qué objetos My
se habilitan estableciendo la constante de compilación condicional _MYTYPE
del proyecto. El entorno de desarrollo integrado (IDE) de Visual Studio mantiene la constante de compilación condicional _MYTYPE
para un proyecto sincronizado con el tipo del proyecto.
Valores _MYTYPE predefinidos
Debe utilizar la opción del compilador /define
para establecer la constante de compilación condicional _MYTYPE
. Al especificar su propio valor para la constante _MYTYPE
, debe incluir el valor de cadena en las secuencias de la barra diagonal inversa/comilla (\"). Por ejemplo, podría usar:
/define:_MYTYPE=\"WindowsForms\"
En esta tabla se muestra cómo se establece la constante de compilación condicional _MYTYPE
para varios tipos de proyecto.
Tipo de proyecto | Valor _MYTYPE |
---|---|
Biblioteca de clases | "Windows" |
Aplicación de consola | "Console" |
Web | "Web" |
Biblioteca de controles web | "WebControl" |
Aplicación Windows | "WindowsForms" |
Aplicación para Windows, al iniciar con un elemento Sub Main personalizado |
"WindowsFormsWithCustomSubMain" |
Biblioteca de controles de Windows | "Windows" |
Servicio de Windows | "Console" |
Empty | "Empty" |
Nota
Todas las comparaciones de cadenas de compilación condicional distinguen entre mayúsculas y minúsculas, independientemente de cómo se establezca la instrucción Option Compare
.
Constantes de compilación _MY Compilation
A su vez, la constante de compilación condicional _MYTYPE
controla los valores de varias otras constantes de compilación _MY
:
_MYTYPE | _MYAPPLICATIONTYPE | _MYCOMPUTERTYPE | _MYFORMS | _MYUSERTYPE | _MYWEBSERVICES |
---|---|---|---|---|---|
"Console" | "Console" | "Windows" | Sin definir | "Windows" | true |
"Custom" | Sin definir | No definido | No definido | No definido | Sin definir |
"Empty" | Sin definir | No definido | No definido | No definido | Sin definir |
"Web" | Sin definir | "Web" | false | "Web" | false |
"WebControl" | Sin definir | "Web" | false | "Web" | true |
"Windows" o "" | "Windows" | "Windows" | Sin definir | "Windows" | true |
"WindowsForms" | "WindowsForms" | "Windows" | true | "Windows" | true |
"WindowsFormsWithCustomSubMain" | "Console" | "Windows" | true | "Windows" | true |
De forma predeterminada, las constantes de compilación condicional sin definir se resuelven en FALSE
. Puede especificar valores para las constantes no definidas al compilar el proyecto para reemplazar el comportamiento predeterminado.
Nota
Si _MYTYPE
se establece en "Custom", el proyecto contiene el espacio de nombres My
, pero no contiene ningún objeto. Sin embargo, si _MYTYPE
se establece en "Empty", se impide que el compilador agregue el espacio de nombres My
y sus objetos.
En esta tabla se describen los efectos de los valores predefinidos de las constantes de compilación _MY
.
Constante | Significado |
---|---|
_MYAPPLICATIONTYPE |
Habilita My.Application , si la constante es "Console", "Windows" o "WindowsForms":- La versión "Console" deriva de ConsoleApplicationBase. tiene menos miembros que la versión "Windows". - La versión "Windows" deriva de ApplicationBase.y tiene menos miembros que la versión "WindowsForms". - La versión "WindowsForms" de My.Application deriva de WindowsFormsApplicationBase. Si la constante TARGET se define como "winexe", la clase incluye un método Sub Main . |
_MYCOMPUTERTYPE |
Habilita My.Computer , si la constante es "Web" o "Windows":- La versión "Web" deriva de ServerComputer y tiene menos miembros que la versión "Windows". - La versión "Windows" de My.Computer deriva de Computer. |
_MYFORMS |
Habilita My.Forms , si la constante es TRUE . |
_MYUSERTYPE |
Habilita My.User , si la constante es "Web" o "Windows":- La versión "Web" de My.User está asociada con la identidad del usuario de la solicitud HTTP actual.- La versión "Windows" de My.User está asociada con la entidad de seguridad actual del subproceso. |
_MYWEBSERVICES |
Habilita My.WebServices , si la constante es TRUE . |
_MYTYPE |
Habilita My.Log , My.Request y My.Response , si la constante es "Web". |