共用方式為


自訂 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:

  • "Console" 版本衍生自 ConsoleApplicationBase,且成員數少於 "Windows" 版本。

  • "Windows" 版本衍生自 ApplicationBase,且成員數少於 "WindowsForms" 版本。

  • My.Application 的 "WindowsForms" 版本衍生自 WindowsFormsApplicationBase。如果將 TARGET 常數定義為 "winexe",則類別包括 Sub Main 方法。

_MYCOMPUTERTYPE

如果常數為 "Web" 或 "Windows",啟用 My.Computer:

  • "Web" 版本衍生自 ServerComputer,且成員數少於 "Windows" 版本。

  • My.Computer 的 "Windows" 版本衍生自 Computer

_MYFORMS

如果常數為 TRUE,啟用 My.Forms。

_MYUSERTYPE

如果常數為 "Web" 或 "Windows",啟用 My.User:

  • My.User 的 "Web" 版本與目前 HTTP 要求的使用者身分相關聯。

  • My.User 的 "Windows" 版本與執行緒目前的主體相關聯。

_MYWEBSERVICES

如果常數為 TRUE,啟用 My.WebServices。

_MYTYPE

如果常數為 "Web",啟用 My.Log、My.Request 和 My.Response。

請參閱

參考

/define (Visual Basic)

ApplicationBase

Computer

My.Forms 物件

Log

My.Request 物件

My.Response 物件

User

My.WebServices 物件

概念

My 如何相依於專案類型 (Visual Basic)

其他資源

Visual Basic 中的條件式編譯