Настройка доступа к объектам через 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". |