Anpassen der verfügbaren Objekte in "My" (Visual Basic)
In diesem Thema wird beschrieben, wie Sie steuern können, welche My
-Objekte aktiviert werden, indem Sie die Konstante für bedingte Kompilierung _MYTYPE
Ihres Projekts festlegen. Die integrierte Visual Studio-Entwicklungsumgebung (Integrated Development Environment, IDE) sorgt dafür, dass die Konstante für bedingte Kompilierung _MYTYPE
für ein Projekt zum jeweiligen Projekttyp passt.
Vordefinierte _MYTYPE-Werte
Sie müssen die Compileroption /define
verwenden, um die Konstante für bedingte Kompilierung _MYTYPE
festzulegen. Wenn Sie einen eigenen Wert für die _MYTYPE
-Konstante angeben, müssen Sie den Zeichenfolgenwert in Sequenzen mit umgekehrten Schrägstrichen/Anführungszeichen (\") einschließen. Sie können z. B. Folgendes angeben:
/define:_MYTYPE=\"WindowsForms\"
In der folgenden Tabelle sind die für die Konstante für bedingte Kompilierung _MYTYPE
festgelegten Werte für verschiedene Projekttypen dargestellt.
Projekttyp: | _MYTYPE-Wert |
---|---|
Klassenbibliothek | "Windows" |
Konsolenanwendung | "Console" |
Web | "Web" |
Websteuerelementbibliothek | "WebControl" |
Windows-Anwendung | "WindowsForms" |
Windows-Anwendung, wenn sie mit einer benutzerdefinierten Sub Main -Methode beginnt |
"WindowsFormsWithCustomSubMain" |
Windows-Steuerelementbibliothek | "Windows" |
Windows-Dienst | "Console" |
Empty | "Empty" |
Hinweis
Die Groß-/Kleinschreibung wird bei allen Zeichenfolgenvergleichen für bedingte Kompilierung beachtet, unabhängig davon, was für die Anweisung Option Compare
festgelegt ist.
Abhängige _MY-Kompilierungskonstanten
Die Konstante für bedingte Kompilierung _MYTYPE
steuert wiederum die Werte mehrere anderer _MY
-Kompilierungskonstanten:
_MYTYPE | _MYAPPLICATIONTYPE | _MYCOMPUTERTYPE | _MYFORMS | _MYUSERTYPE | _MYWEBSERVICES |
---|---|---|---|---|---|
"Console" | "Console" | "Windows" | Nicht definiert | "Windows" | true |
"Custom" | Nicht definiert | Nicht definiert | Nicht definiert | Nicht definiert | Nicht definiert |
"Empty" | Nicht definiert | Nicht definiert | Nicht definiert | Nicht definiert | Nicht definiert |
"Web" | Nicht definiert | "Web" | false | "Web" | false |
"WebControl" | Nicht definiert | "Web" | false | "Web" | true |
"Windows" oder "" | "Windows" | "Windows" | Nicht definiert | "Windows" | true |
"WindowsForms" | "WindowsForms" | "Windows" | true | "Windows" | true |
"WindowsFormsWithCustomSubMain" | "Console" | "Windows" | true | "Windows" | true |
Nicht definierte Konstanten für bedingte Kompilierung werden standardmäßig in FALSE
aufgelöst. Sie können beim Kompilieren Ihres Projekts Werte für die nicht definierten Konstanten festlegen, um das Standardverhalten außer Kraft zu setzen.
Hinweis
Wenn für _MYTYPE
"Custom" festgelegt ist, enthält das Projekt zwar den My
-Namespace, aber keine Objekte. Das Festlegen von "Empty" für _MYTYPE
verhindert allerdings, dass der Compiler den My
-Namespace und dessen Objekte hinzufügt.
In der folgenden Tabelle werden die Auswirkungen der vordefinierten Werte auf die _MY
-Kompilierungskonstanten beschrieben.
Konstante | Bedeutung |
---|---|
_MYAPPLICATIONTYPE |
Diese Konstante aktiviert My.Application , wenn "Console", Windows" oder "WindowsForms" festgelegt ist:– Die „Console“-Version wird aus ConsoleApplicationBase abgeleitet. und verfügt über weniger Member als die "Windows"-Version. – Die „Windows“-Version wird aus ApplicationBase abgeleitet und verfügt über weniger Mitglieder als die „WindowsForms“-Version. – Die „WindowsForms“-Version von My.Application wird aus WindowsFormsApplicationBase abgeleitet. Wenn die Konstante TARGET als "winexe" definiert ist, beinhaltet die Klasse eine Sub Main -Methode. |
_MYCOMPUTERTYPE |
Diese Konstante aktiviert My.Computer , wenn "Web" oder "Windows" festgelegt ist:– Die „Web“-Version wird aus ServerComputer abgeleitet und verfügt über weniger Mitglieder als die „Windows“-Version. – Die „Windows“-Version von My.Computer wird aus Computer abgeleitet. |
_MYFORMS |
Diese Konstante aktiviert My.Forms , wenn TRUE festgelegt ist. |
_MYUSERTYPE |
Diese Konstante aktiviert My.User , wenn "Web" oder "Windows" festgelegt ist:– Die „Web“-Version von My.User ist mit der Benutzeridentität der aktuellen HTTP-Anforderung verknüpft.– Die „Windows“-Version von My.User ist mit dem aktuellen Prinzipal des Threads verknüpft. |
_MYWEBSERVICES |
Diese Konstante aktiviert My.WebServices , wenn TRUE festgelegt ist. |
_MYTYPE |
Diese Konstante aktiviert My.Log , My.Request und My.Response , wenn "Web" festgelegt ist. |