Personalizzazione degli oggetti disponibili in My (Visual Basic)
In questo argomento viene descritto come controllare quali oggetti My
sono abilitati impostando la costante di compilazione _MYTYPE
condizionale del progetto. L'IDE (Integrated Development Environment) di Visual Studio mantiene la costante di compilazione condizionale _MYTYPE
per un progetto sincronizzata con il tipo del progetto.
Valori _MYTYPE predefiniti
È necessario usare l'opzione del compilatore /define
per impostare la costante di compilazione condizionale _MYTYPE
. Quando si specifica un valore personalizzato per la costante _MYTYPE
, è necessario racchiudere il valore stringa nelle sequenze barra rovesciata/virgolette (\"). Ad esempio, è possibile usare:
/define:_MYTYPE=\"WindowsForms\"
Questa tabella mostra la costante di compilazione condizionale _MYTYPE
impostata per diversi tipi di progetto.
Tipo di progetto | Valore _MYTYPE |
---|---|
Libreria di classi | "Windows" |
Applicazione console | "Console" |
Web | "Web" |
Libreria di controlli Web | "WebControl" |
Applicazione Windows | "WindowsForms" |
Applicazione Windows, quando si inizia con Sub Main personalizzato |
"WindowsFormsWithCustomSubMain" |
Libreria di controlli Windows | "Windows" |
Servizio Windows | "Console" |
Vuoto | "Empty" |
Nota
Tutti i confronti di stringhe di compilazione condizionale fanno distinzione tra maiuscole e minuscole, indipendentemente dalla modalità di impostazione dell'istruzione Option Compare
.
Costanti di compilazione _MY dipendenti
La costante di compilazione condizionale _MYTYPE
, a sua volta, controlla i valori di diverse altre costanti di compilazione _MY
:
_MYTYPE | _MYAPPLICATIONTYPE | _MYCOMPUTERTYPE | _MYFORMS | _MYUSERTYPE | _MYWEBSERVICES |
---|---|---|---|---|---|
"Console" | "Console" | "Windows" | Non definito | "Windows" | TRUE |
"Custom" | Non definito | Non definito | Non definito | Non definito | Non definito |
"Empty" | Non definito | Non definito | Non definito | Non definito | Non definito |
"Web" | Non definito | "Web" | FALSE | "Web" | FALSE |
"WebControl" | Non definito | "Web" | FALSE | "Web" | TRUE |
"Windows" o "" | "Windows" | "Windows" | Non definito | "Windows" | TRUE |
"WindowsForms" | "WindowsForms" | "Windows" | TRUE | "Windows" | TRUE |
"WindowsFormsWithCustomSubMain" | "Console" | "Windows" | TRUE | "Windows" | TRUE |
Per impostazione predefinita, le costanti di compilazione condizionale non definita vengono risolte in FALSE
. È possibile specificare valori per le costanti non specificate durante la compilazione del progetto per eseguire l'override del comportamento predefinito.
Nota
Quando _MYTYPE
è impostato su "Custom", il progetto contiene lo spazio dei nomi My
, ma non contiene oggetti. Tuttavia, l'impostazione di _MYTYPE
su "Empty" impedisce al compilatore di aggiungere lo spazio dei nomi My
e i relativi oggetti.
Questa tabella descrive gli effetti dei valori predefiniti delle costanti di compilazione _MY
.
Costante | Significato |
---|---|
_MYAPPLICATIONTYPE |
Abilita My.Application , se la costante è "Console", "Windows" o "WindowsForms":- La versione "Console" deriva da ConsoleApplicationBase. e ha meno membri della versione "Windows". - La versione "Windows" deriva da ApplicationBase e ha meno membri rispetto alla versione "WindowsForms". - La versione "WindowsForms" di My.Application deriva da WindowsFormsApplicationBase. Se la costante TARGET è definita come "winexe", la classe include un metodo Sub Main . |
_MYCOMPUTERTYPE |
Abilita My.Computer se la costante è "Web" o "Windows":- La versione "Web" deriva da ServerComputer e ha meno membri rispetto alla versione "Windows". - La versione "Windows" di My.Computer deriva da Computer. |
_MYFORMS |
Abilita My.Forms , se la costante è TRUE . |
_MYUSERTYPE |
Abilita My.User se la costante è "Web" o "Windows":- La versione "Web" di My.User è associata all'identità utente della richiesta HTTP corrente.- La versione "Windows" di My.User è associata all'entità corrente del thread. |
_MYWEBSERVICES |
Abilita My.WebServices , se la costante è TRUE . |
_MYTYPE |
Abilita My.Log , My.Request e My.Response , se la costante è "Web". |