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

更新 : 2007 年 11 月

このトピックでは、プロジェクトの _MYTYPE 条件付きコンパイル定数を設定することによって、有効にする My オブジェクトを制御する方法を説明します。Visual Studio 統合開発環境 (IDE) では、プロジェクトの _MYTYPE 条件付きコンパイル定数とプロジェクトの種類が対応付けられています。

定義済みの _MYTYPE 値

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

/define:_MYTYPE=\"WindowsForms\"

次の表は、いくつかのプロジェクトの種類に対して設定されている _MYTYPE 条件付きコンパイル定数です。

プロジェクトの種類

_MYTYPE 値

クラス ライブラリ

"Windows"

コンソール アプリケーション

"Console"

Web

"Web"

Web コントロール ライブラリ

"WebControl"

Windows アプリケーション

"WindowsForms"

カスタムの Sub Main で開始される Windows アプリケーション

"WindowsFormsWithCustomSubMain"

Windows コントロール ライブラリ

"Windows"

Windows サービス

"Console"

"Empty"

ms233781.alert_note(ja-jp,VS.90).gifメモ :

条件付きコンパイル文字列の比較では、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 に解決されます。プロジェクトをコンパイルするときに、既定の動作をオーバーライドするように未定義の定数の値を指定できます。

ms233781.alert_note(ja-jp,VS.90).gifメモ :

_MYTYPE を "Custom" に設定すると、プロジェクトに My 名前空間が含まれますが、オブジェクトは含まれません。一方、_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 要求のユーザー ID と関連付けられています。

  • My.User の "Windows" バージョンは、スレッドの現在のプリンシパルと関連付けられています。

_MYWEBSERVICES

定数が TRUE の場合、My.WebServices が有効になります。

_MYTYPE

定数が "Web" の場合、My.Log、My.Request、および My.Response が有効になります。

参照

概念

プロジェクトの種類に応じた My の機能

条件付きコンパイルの概要

参照

/define (Visual Basic)

My.Application オブジェクト

My.Computer オブジェクト

My.Forms オブジェクト

My.Log オブジェクト

My.Request オブジェクト

My.Response オブジェクト

My.User オブジェクト

My.WebServices オブジェクト