Поделиться через


Настройка доступа к объектам через My (Visual Basic)

В этой статье показано, как управлять доступностью объектов My с помощью константы условной компиляции _MYTYPE проекта. Интегрированная среда разработки (IDE) Visual Studio позволяет использовать константу условной компиляции _MYTYPE для проекта в соответствии с типом проекта.

Предопределенные значения _MYTYPE

Чтобы задать константу условной компиляции _MYTYPE, используйте параметр компилятора /define. При указании собственного _MYTYPE значения для константы необходимо заключить строковое значение в обратную косую черту или кавычки (\) последовательностей. Например, можно использовать такую последовательность:

/define:_MYTYPE=\"WindowsForms\"  

В этой таблице приводятся значения константы условной компиляции _MYTYPE для нескольких типов проектов.

Тип проекта значение _MYTYPE
Библиотека классов "Windows"
Консольное приложение "Console"
Сеть "Web"
Библиотека веб-элементов управления "WebControl"
Приложение Windows "WindowsForms"
Приложение Windows при запуске с помощью пользовательского объекта Sub Main "WindowsFormsWithCustomSubMain"
Библиотека элементов управления Windows "Windows"
Службы Windows "Console"
Нет значения "Empty"

Примечание.

Все сравнения строк условной компиляции учитывают регистр, независимо от того, как задана инструкция Option Compare.

Зависимые константы компиляции _MY

Константа условной компиляции _MYTYPE управляет значениями других констант компиляции _MY:

_MYTYPE _MYAPPLICATIONTYPE _MYCOMPUTERTYPE _MYFORMS _MYUSERTYPE _MYWEBSERVICES
"Console" "Console" "Windows" Undefined "Windows" TRUE
"Custom" Undefined Undefined Undefined Undefined Undefined
"Empty" Undefined Undefined Undefined Undefined Undefined
"Web" Undefined "Web" FALSE "Web" FALSE
"WebControl" Undefined "Web" FALSE "Web" TRUE
"Windows" или "" "Windows" "Windows" Undefined "Windows" TRUE
"WindowsForms" "WindowsForms" "Windows" TRUE "Windows" TRUE
"WindowsFormsWithCustomSubMain" "Console" "Windows" TRUE "Windows" TRUE

По умолчанию неопределенные константы условной компиляции разрешаются в FALSE. Вы можете указать значения для неопределенных констант при компиляции проекта, чтобы переопределить поведение по умолчанию.

Примечание.

Если _MYTYPE имеет значение "Custom", это значит, что проект содержит пространство имен My, но не содержит объектов. Если же для _MYTYPE задать значение "Empty", компилятор не будет добавлять пространство имен My и его объекты.

В этой таблице описаны результаты применения предопределенных значений констант компиляции _MY.

Константа Значение
_MYAPPLICATIONTYPE Включает My.Application, если для константы задано значение "Console," "Windows" или "WindowsForms":

– Версия "Console" является производной от ConsoleApplicationBase и содержит меньше элементов, чем версия "Windows".
– Версия "Windows" является производной от ApplicationBase и содержит меньше элементов, чем версия WindowsForms.
– Версия "WindowsForms" My.Application является производной от WindowsFormsApplicationBase. Если константа TARGET определена как "winexe", тогда класс будет включать метод Sub Main.
_MYCOMPUTERTYPE Включает My.Computer, если для константы задано значение "Web" или "Windows":

– Версия "Web" является производной от ServerComputer и содержит меньше элементов, чем версия "Windows".
– Версия "Windows" объекта My.Computer является производной от Computer.
_MYFORMS Включает My.Forms, если для константы задано значение TRUE.
_MYUSERTYPE Включает My.User, если для константы задано значение "Web" или "Windows":

– Версия "Web" объекта My.User связана с удостоверением пользователя для текущего HTTP-запроса.
– Версия "Windows" объекта My.User связана с текущим субъектом потока.
_MYWEBSERVICES Включает My.WebServices, если для константы задано значение TRUE.
_MYTYPE Включает My.Log, My.Request и My.Response, если для константы задано значение "Web".

См. также