My で利用可能なオブジェクトのカスタマイズ (Visual Basic)

このトピックでは、プロジェクトの _MYTYPE 条件付きコンパイル定数を設定して、どの My オブジェクトを有効にするかを制御する方法について説明します。 Visual Studio 統合開発環境 (IDE) では、プロジェクトに対して、プロジェクト タイプと同期して、_MYTYPE 条件付きコンパイル定数が保持されます。

定義済みの _MYTYPE 値

_MYTYPE 条件付きコンパイル定数を設定するには、/define コンパイラ オプションを使用する必要があります。 _MYTYPE 定数に独自の値を指定する場合は、文字列値をバックスラッシュと引用符のシーケンス (\") で囲む必要があります。 たとえば、次のように使用できます。

/define:_MYTYPE=\"WindowsForms\"  

次の表は、いくつかのプロジェクト タイプに対して _MYTYPE 条件付きコンパイル定数を何に設定するかを示しています。

プロジェクトの種類 _MYTYPE 値
クラス ライブラリ "Windows"
コンソール アプリケーション "Console"
Web "Web"
Web コントロール ライブラリ "WebControl"
Windows アプリケーション "WindowsForms"
Windows アプリケーション (カスタム Sub Main を使って起動する場合) "WindowsFormsWithCustomSubMain"
Windows コントロール ライブラリ "Windows"
Windows サービス "Console"
Empty "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 要求のユーザー ID に関連付けられます。
- "Windows" バージョンの My.User は、スレッドの現在のプリンシパルに関連付けられます。
_MYWEBSERVICES 定数が TRUE の場合、My.WebServices を有効にします。
_MYTYPE 定数が "Web" の場合、My.LogMy.RequestMy.Response を有効にします。

関連項目