Anpassen der verfügbaren Objekte in "My" (Visual Basic)

In diesem Thema wird beschrieben, wie in einem Projekt durch Festlegen der _MYTYPE-Konstante für die bedingte Kompilierung definiert werden kann, welche My-Objekte aktiviert werden. Die integrierte Entwicklungsumgebung (IDE) von Visual Studio passt die _MYTYPE-Konstante für die bedingte Kompilierung in einem Projekt an den Typ des Projekts an.

Vordefinierte _MYTYPE-Werte

Die _MYTYPE-Konstante für die bedingte Kompilierung wird mit der Compileroption /define festgelegt. Beim Angeben benutzerdefinierter Werte für die _MYTYPE-Konstante müssen Sie den Zeichenfolgenwert am Anfang und Ende mit einem umgekehrten Schrägstrich und einem Anführungszeichen (\") umschließen. Sie könnten z. B. folgende Angabe verwenden:

/define:_MYTYPE=\"WindowsForms\"

In dieser Tabelle wird der Wert der _MYTYPE-Konstante für die bedingte Kompilierung für verschiedene Projekttypen aufgeführt.

Projekttyp

_MYTYPE-Wert

Klassenbibliothek

"Windows"

Konsolenanwendung

"Console"

Internet

"Web"

Web-Steuerelementbibliothek

"WebControl"

Windows-Anwendung

"WindowsForms"

Windows-Anwendung bei Start mit benutzerdefiniertem Sub Main

"WindowsFormsWithCustomSubMain"

Windows-Steuerelementbibliothek

"Windows"

Windows-Dienst

"Console"

Leer

"Empty"

Tipp

Unabhängig von der Einstellung für die Option Compare-Anweisung wird bei allen Zeichenfolgenvergleichen für die bedingte Kompilierung die Groß- und Kleinschreibung berücksichtigt.

Abhängige _MY-Kompilierungskonstanten

Die _MYTYPE-Konstante für die bedingte Kompilierung beeinflusst den Wert mehrerer anderer _MY-Kompilierungskonstanten, wie im Folgenden dargestellt:

_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

Standardmäßig wird nicht definierten Konstanten für die bedingte Kompilierung der Wert FALSE zugeordnet. Sie können beim Kompilieren des Projekts Werte für die nicht definierten Konstanten angeben, um das Standardverhalten zu überschreiben.

Tipp

Wenn _MYTYPE auf "Custom" festgelegt wird, enthält das Projekt den My-Namespace, aber keine Objekte. Wenn _MYTYPE auf "Empty" festgelegt ist, fügt der Compiler den My-Namespace und die zugehörigen Objekte nicht hinzu.

In dieser Tabelle wird die Bedeutung der vordefinierten Werte der _MY-Kompilierungskonstanten beschrieben.

Konstante

Bedeutung

_MYAPPLICATIONTYPE

Aktiviert My.Application, wenn die Konstante den Wert "Console", "Windows" oder "WindowsForms" aufweist.

  • Die Console-Version ist von ConsoleApplicationBase abgeleitet und verfügt über weniger Member als die Windows-Version.

  • Die "Windows"-Version ist von ApplicationBase abgeleitet und weist weniger Member als die "WindowsForms"-Version auf.

  • Die "WindowsForms"-Version von My.Application ist von WindowsFormsApplicationBase abgeleitet. Wenn die TARGET-Konstante auf den Wert "winexe" festgelegt wurde, verfügt die Klasse über eine Sub Main-Methode.

_MYCOMPUTERTYPE

Aktiviert My.Computer, wenn die Konstante den Wert "Web" oder "Windows" aufweist:

  • Die "Web"-Version ist von ServerComputer abgeleitet und weist weniger Member als die "Windows"-Version auf.

  • Die "Windows"-Version von My.Computer ist von Computer abgeleitet.

_MYFORMS

Aktiviert My.Forms, wenn die Konstante TRUE ist.

_MYUSERTYPE

Aktiviert My.User, wenn die Konstante den Wert "Web" oder "Windows" aufweist:

  • Die "Web"-Version von My.User ist der Benutzeridentität der aktuellen HTTP-Anforderung zugeordnet.

  • Die "Windows"-Version von My.User ist dem aktuellen Prinzipal des Threads zugeordnet.

_MYWEBSERVICES

Aktiviert My.WebServices, wenn die Konstante TRUE ist.

_MYTYPE

Aktiviert My.Log, My.Request, und My.Response, wenn die Konstante den Wert "Web" aufweist.

Siehe auch

Referenz

/define (Visual Basic)

ApplicationBase

Computer

My.Forms-Objekt (Visual Basic)

Log

My.Request-Objekt (Visual Basic)

My.Response-Objekt (Visual Basic)

User

My.WebServices-Objekt (Visual Basic)

Konzepte

Merkmale von "My" auf Grundlage des Projekttyps (Visual Basic)

Weitere Ressourcen

Bedingte Kompilierung in Visual Basic