自訂 My 中可用的物件 (Visual Basic)
本主題會描述如何為專案設定 _MYTYPE 條件式編譯常數,控制要啟動的 My 物件。Visual Studio 整合式開發環境 (IDE) 會讓專案的 _MYTYPE 條件式編譯常數與專案的類型同步。
Predefined _MYTYPE 值
您必須使用 /define 編譯器選項,設定 _MYTYPE 條件式編譯常數。針對 _MYTYPE 常數指定自己的值時,必須以反斜線/引號 (\") 的順序括住字串值。例如,您可以使用:
/define:_MYTYPE=\"WindowsForms\"
此表會顯示針對數種專案類型而設定的 _MYTYPE 條件式編譯常數。
專案類型 |
_MYTYPE 值 |
---|---|
類別庫 |
"Windows" |
主控台應用程式 |
"Console" |
Web |
"Web" |
Web 控制項程式庫 |
"WebControl" |
Windows 應用程式 |
"WindowsForms" |
Windows 應用程式 (以自訂的 Sub Main 啟動時) |
"WindowsFormsWithCustomSubMain" |
Windows 控制項程式庫 |
"Windows" |
Windows 服務 |
"Console" |
空白 |
"Empty" |
注意事項 |
---|
所有條件式編譯字串比較都區分大小寫,不管如何設定 Option Compare 陳述式 (Statement)。 |
Dependent _MY 編譯常數
_MYTYPE 條件式編譯常數依序控制數個其他 _MY 編譯常數的值:
_MYTYPE |
_MYAPPLICATIONTYPE |
_MYCOMPUTERTYPE |
_MYFORMS |
_MYUSERTYPE |
_MYWEBSERVICES |
---|---|---|---|---|---|
"Console" |
"Console" |
"Windows" |
未定義 |
"Windows" |
TRUE |
"Custom" |
未定義 |
未定義 |
未定義 |
未定義 |
未定義 |
"Empty" |
未定義 |
未定義 |
未定義 |
未定義 |
未定義 |
"Web" |
未定義 |
"Web" |
FALSE |
"Web" |
FALSE |
"WebControl" |
未定義 |
"Web" |
FALSE |
"Web" |
TRUE |
"Windows" 或 "" |
"Windows" |
"Windows" |
未定義 |
"Windows" |
TRUE |
"WindowsForms" |
"WindowsForms" |
"Windows" |
TRUE |
"Windows" |
TRUE |
"WindowsFormsWithCustomSubMain" |
"Console" |
"Windows" |
TRUE |
"Windows" |
TRUE |
根據預設,未定義的條件式編譯常數解析為 FALSE。編譯您的專案覆寫預設行為時,可以為尚未定義的常數指定值。
注意事項 |
---|
當 _MYTYPE 設為 "Custom" 時,專案包含 My 命名空間 (Namespace),但是它沒有包含任何物件。不過,將 _MYTYPE 設定為 "Empty" 可以防止編譯器加入 My 命名空間和它的物件。 |
這個表格描述 _MY 編譯常數之預先定義值的作用。
常數 |
意義 |
---|---|
_MYAPPLICATIONTYPE |
如果常數為 "Console"、"Windows" 或 "WindowsForms",啟用 My.Application:
|
_MYCOMPUTERTYPE |
如果常數為 "Web" 或 "Windows",啟用 My.Computer:
|
_MYFORMS |
如果常數為 TRUE,啟用 My.Forms。 |
_MYUSERTYPE |
如果常數為 "Web" 或 "Windows",啟用 My.User:
|
_MYWEBSERVICES |
如果常數為 TRUE,啟用 My.WebServices。 |
_MYTYPE |
如果常數為 "Web",啟用 My.Log、My.Request 和 My.Response。 |