Dostosowywanie, które obiekty są dostępne w My (Visual Basic)
W tym temacie opisano, jak można kontrolować, które My
obiekty są włączone, ustawiając stałą kompilacji warunkowej _MYTYPE
projektu. Zintegrowane środowisko projektowe (IDE) programu Visual Studio zachowuje _MYTYPE
stałą kompilacji warunkowej dla projektu zsynchronizowanego z typem projektu.
Wstępnie zdefiniowane wartości _MYTYPE
Należy użyć opcji kompilatora /define
, aby ustawić stałą kompilacji warunkowej _MYTYPE
. Podczas określania własnej wartości dla stałej _MYTYPE
należy ująć wartość ciągu w sekwencje ukośnika odwrotnego/cudzysłowu (\"). Można na przykład użyć następujących funkcji:
/define:_MYTYPE=\"WindowsForms\"
W tej tabeli przedstawiono stałą _MYTYPE
kompilacji warunkowej ustawioną na wartość dla kilku typów projektów.
Typ projektu | _MYTYPE wartość |
---|---|
Biblioteka klas | "Windows" |
Aplikacja konsolowa | "Konsola" |
Internet | "Sieć Web" |
Biblioteka formantów sieci Web | "WebControl" |
Aplikacja systemu Windows | "WindowsForms" |
Aplikacja systemu Windows podczas rozpoczynania pracy z niestandardowym Sub Main |
"WindowsFormsWithCustomSubMain" |
Biblioteka kontrolek systemu Windows | "Windows" |
Usługa systemu Windows | "Konsola" |
Pusty | "Pusty" |
Uwaga
Wszystkie porównania ciągów kompilacji warunkowej są uwzględniane w wielkości liter, niezależnie od sposobu Option Compare
ustawiania instrukcji.
Stałe kompilacji zależne _MY
Stała _MYTYPE
kompilacji warunkowej z kolei kontroluje wartości kilku innych _MY
stałych kompilacji:
_MYTYPE | _MYAPPLICATIONTYPE | _MYCOMPUTERTYPE | _MYFORMS | _MYUSERTYPE | _MYWEBSERVICES |
---|---|---|---|---|---|
"Konsola" | "Konsola" | "Windows" | Niezdefiniowane | "Windows" | PRAWDA |
"Niestandardowy" | Niezdefiniowane | Niezdefiniowane | Niezdefiniowane | Niezdefiniowane | Niezdefiniowane |
"Pusty" | Niezdefiniowane | Niezdefiniowane | Niezdefiniowane | Niezdefiniowane | Niezdefiniowane |
"Sieć Web" | Niezdefiniowane | "Sieć Web" | FAŁSZ | "Sieć Web" | FAŁSZ |
"WebControl" | Niezdefiniowane | "Sieć Web" | FAŁSZ | "Sieć Web" | PRAWDA |
"Windows" lub "" | "Windows" | "Windows" | Niezdefiniowane | "Windows" | PRAWDA |
"WindowsForms" | "WindowsForms" | "Windows" | PRAWDA | "Windows" | PRAWDA |
"WindowsFormsWithCustomSubMain" | "Konsola" | "Windows" | PRAWDA | "Windows" | PRAWDA |
Domyślnie niezdefiniowane stałe kompilacji warunkowej są rozpoznawane jako FALSE
. Wartości niezdefiniowanych stałych można określić podczas kompilowania projektu w celu zastąpienia domyślnego zachowania.
Uwaga
Gdy _MYTYPE
jest ustawiona wartość "Niestandardowy", projekt zawiera przestrzeń nazw, ale nie zawiera My
żadnych obiektów. Jednak ustawienie _MYTYPE
wartości "Empty" uniemożliwia kompilatorowi dodawanie My
przestrzeni nazw i jej obiektów.
W tej tabeli opisano efekty wstępnie zdefiniowanych wartości _MY
stałych kompilacji.
Stała | Znaczenie |
---|---|
_MYAPPLICATIONTYPE |
My.Application Włącza wartość , jeśli stała to "Konsola", Windows lub "WindowsForms":- Wersja "Console" pochodzi z .ConsoleApplicationBase i ma mniej elementów członkowskich niż wersja "Windows". - Wersja "Windows" pochodzi z ApplicationBase.i ma mniej elementów członkowskich niż wersja "WindowsForms". - Wersja My.Application "WindowsForms" pochodzi z .WindowsFormsApplicationBase Jeśli stała jest zdefiniowana TARGET jako "winexe", klasa zawiera metodę Sub Main . |
_MYCOMPUTERTYPE |
My.Computer Włącza wartość , jeśli stała to "Web" lub "Windows":— Wersja "Web" pochodzi z ServerComputersystemu i ma mniej elementów członkowskich niż wersja "Windows". - Wersja My.Computer "Windows" pochodzi z .Computer |
_MYFORMS |
My.Forms Włącza wartość , jeśli stała to TRUE . |
_MYUSERTYPE |
My.User Włącza wartość , jeśli stała to "Web" lub "Windows":— Wersja "Web" elementu My.User jest skojarzona z tożsamością użytkownika bieżącego żądania HTTP.- Wersja "Windows" elementu My.User jest skojarzona z bieżącym podmiotem zabezpieczeń wątku. |
_MYWEBSERVICES |
My.WebServices Włącza wartość , jeśli stała to TRUE . |
_MYTYPE |
My.Log Włącza wartości , My.Request i My.Response , jeśli stała to "Web". |