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.Log 、My.Request 、My.Response を有効にします。 |
関連項目
.NET