共用方式為


自訂 Visual Basic 中「My」可用的物件

本主題描述如何藉由設定專案My的條件式編譯常數來控制_MYTYPE哪些物件已啟用。 Visual Studio 集成開發環境 (IDE) 會讓 _MYTYPE 專案的條件式編譯常數與專案的類型保持同步。

預先定義的_MYTYPE值

您必須使用編譯 /define 程式選項來設定 _MYTYPE 條件式編譯常數。 為常數指定您自己的值 _MYTYPE 時,您必須以反斜杠/引號 (\“) 序列括住字串值。 例如,您可以使用:

/define:_MYTYPE=\"WindowsForms\"  

下表顯示數個專案類型中,條件編譯常數 _MYTYPE 的設定值。

專案類型 _MYTYPE值
類別庫 “Windows”
主控台應用程式 控制台
網路 網頁
Web 控制庫 “WebControl”
Windows 應用程式 “WindowsForms”
Windows 應用程式,啟動時使用自定義的 Sub Main “WindowsFormsWithCustomSubMain”
Windows 控件庫 “Windows”
Windows 服務 控制台
空的

備註

不論語句的設定方式 Option Compare 為何,所有條件式編譯字串比較都會區分大小寫。

依賴_MY編譯常數

條件 _MYTYPE 式編譯常數接著會控制數個其他 _MY 編譯常數的值:

_MYTYPE _MYAPPLICATIONTYPE _MYCOMPUTERTYPE _MYFORMS _MYUSERTYPE _我的網路服務
控制台 控制台 “Windows” 未定義 “Windows” 是真的
自訂 未定義 未定義 未定義 未定義 未定義
空的 未定義 未定義 未定義 未定義 未定義
網頁 未定義 網頁 錯誤 網頁 錯誤
“WebControl” 未定義 網頁 錯誤 網頁 是真的
“Windows” 或 “” “Windows” “Windows” 未定義 “Windows” 是真的
“WindowsForms” “WindowsForms” “Windows” 是真的 “Windows” 是真的
“WindowsFormsWithCustomSubMain” 控制台 “Windows” 是真的 “Windows” 是真的

根據預設,未定義的條件式編譯常數會解析為 FALSE。 編譯專案以覆寫預設行為時,您可以指定未定義常數的值。

備註

_MYTYPE 設定為「Custom」時,專案會包含 My 命名空間,但不包含任何物件。 不過,將 設定 _MYTYPE 為 「Empty」 可防止編譯程式新增 My 命名空間及其物件。

下表描述編譯常數之預先定義值 _MY 的效果。

常數 意義
_MYAPPLICATIONTYPE 如果常數為 “Console”、“Windows” 或 “WindowsForms”,則啟用 My.Application

- 「主控台」版本衍生自 ConsoleApplicationBase。 比起「Windows」版本,其成員數量較少。
- “Windows” 版本衍生自 ApplicationBase.,且成員比 “WindowsForms” 版本少。
- 的 “WindowsForms” 版本 My.Application 衍生自 WindowsFormsApplicationBaseTARGET如果常數定義為 「winexe」,則 類別會包含 Sub Main 方法。
_MYCOMPUTERTYPE 如果常數是 「Web」 或 「Windows」,則啟用 My.Computer

- “Web” 版本衍生自 ServerComputer,且成員比 “Windows” 版本少。
- 的 “Windows” 版本 My.Computer 衍生自 Computer
_MYFORMS 如果常數為 My.Forms,則啟用 TRUE
_MYUSERTYPE 如果常數是 「Web」 或 「Windows」,則啟用 My.User

- 的 「Web」 版本 My.User 與目前 HTTP 要求的使用者身分識別相關聯。
- 「Windows」版本的 My.User 與線程當前的主體相關聯。
_MYWEBSERVICES 如果常數為 My.WebServices,則啟用 TRUE
_MYTYPE 如果常數為 「Web」 則開啟 My.LogMy.RequestMy.Response

另請參閱