共用方式為


自訂 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.LogMy.RequestMy.Response

另請參閱