自訂 My 中可用的物件 (Visual Basic)
本主題描述可以藉由設定專案的 _MYTYPE
條件式編譯常數來控制哪些 My
物件已啟用。 Visual Studio 整合式開發環境 (IDE) 能確保專案的 _MYTYPE
條件式編譯常數與專案的類型保持同步。
預先定義的 _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
為何,所有條件式編譯字串比較都會區分大小寫。
相依性 _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
命名空間但不包含物件。 不過,將 _MYTYPE
設定為 "Empty" 可防止編譯器新增 My
命名空間和其物件。
此表描述 _MY
編譯常數之預先定義值的效果。
持續性 | 意義 |
---|---|
_MYAPPLICATIONTYPE |
如果常數為 "Console"、"Windows" 或 "WindowsForms",則啟用 My.Application :- "Console" 版本衍生自 ConsoleApplicationBase。 且成員較 "Windows" 版本少。 - "Windows" 版本衍生自 ApplicationBase,且成員較 "WindowsForms" 版本少。 - "WindowsForms" 版本的 My.Application 衍生自 WindowsFormsApplicationBase。 如果 TARGET 常數定義為 "winexe",則類別會包含 Sub Main 方法。 |
_MYCOMPUTERTYPE |
如果常數為 "Web" 或 "Windows",則啟用 My.Computer :- "Web" 版本衍生自 ServerComputer,且成員較 "Windows" 版本少。 - "Windows" 版本的 My.Computer 衍生自 Computer。 |
_MYFORMS |
如果常數為 TRUE ,則啟用 My.Forms 。 |
_MYUSERTYPE |
如果常數為 "Web" 或 "Windows",則啟用 My.User :- "Web" 版本的 My.User 與目前 HTTP 要求的使用者身分識別相關聯。- "Windows" 版本的 My.User 與執行緒的目前主體相關聯。 |
_MYWEBSERVICES |
如果常數為 TRUE ,則啟用 My.WebServices 。 |
_MYTYPE |
如果常數為 "Web",則啟用 My.Log 、My.Request 和 My.Response 。 |