ReflectionPermissionFlag ReflectionPermissionFlag ReflectionPermissionFlag ReflectionPermissionFlag Enum

Определение

Определяет допустимое использование значения System.Reflection и пространства имен System.Reflection.Emit.Specifies the permitted use of the System.Reflection and System.Reflection.Emit namespaces.

Это перечисление имеет атрибут FlagsAttribute, который разрешает побитовое сочетание значений его элементов.

public enum class ReflectionPermissionFlag
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum ReflectionPermissionFlag
type ReflectionPermissionFlag = 
Public Enum ReflectionPermissionFlag
Наследование
ReflectionPermissionFlagReflectionPermissionFlagReflectionPermissionFlagReflectionPermissionFlag
Атрибуты

Поля

AllFlags AllFlags AllFlags AllFlags 7

Заданы флаги TypeInformation, MemberAccess и ReflectionEmit.TypeInformation , MemberAccess, and ReflectionEmit are set. Значение AllFlags не включает флаг RestrictedMemberAccess.AllFlags does not include RestrictedMemberAccess.

MemberAccess MemberAccess MemberAccess MemberAccess 2

Допустимы операции вызова на все элементы, независимо от набора привилегий.Invocation operations on all members are allowed, regardless of grant set. Если этот флаг не установлен, операции вызова допустимы только на видимые элементы.If this flag is not set, invocation operations are allowed only on visible members.

NoFlags NoFlags NoFlags NoFlags 0

Допускается перечисление типов и элементов.Enumeration of types and members is allowed. Операции вызова допустимы только на видимые элементы.Invocation operations are allowed on visible types and members.

ReflectionEmit ReflectionEmit ReflectionEmit ReflectionEmit 4

Разрешено генерирование символов отладки.Emitting debug symbols is allowed. Начиная с .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 Service Pack 1, этот флаг больше не требуется для генерирования кода.Beginning with the .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 Service Pack 1, this flag is no longer required to emit code.

RestrictedMemberAccess RestrictedMemberAccess RestrictedMemberAccess RestrictedMemberAccess 8

Для кода с неполным доверием предусмотрен ограниченный доступ к элементам.Restricted member access is provided for partially trusted code. Код с неполным доверием может допускать неоткрытые типы и элементы, но только в том случае, если набор привилегий кода с неполным доверием включает все разрешения в наборе привилегий сборки, содержащей неоткрытые типы и элементы, к которым выполняется обращение.Partially trusted code can access nonpublic types and members, but only if the grant set of the partially trusted code includes all permissions in the grant set of the assembly that contains the nonpublic types and members being accessed. Этот флаг является новым в .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 SP1.This flag is new in the .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 SP1.

TypeInformation TypeInformation TypeInformation TypeInformation 1

Этот флаг устарел.This flag is obsolete. Чтобы перечислять типы и элементы и исследовать их метаданные, флаги не нужны.No flags are necessary to enumerate types and members and to examine their metadata. Взамен рекомендуется использовать NoFlags.Use NoFlags instead.

Примеры

В следующем примере показано, как использовать RestrictedMemberAccess перечисления для инициализации нового экземпляра класса RestrictedMemberAccess класс, представляющий право на выполнение ограниченного доступа к членам.The following example shows how to use the RestrictedMemberAccess enumeration to initialize a new instance of the RestrictedMemberAccess class that represents the right to perform restricted member access. Этот пример является частью большего примера, предоставляемый для AllFlags класса.This example is part of a larger example that is provided for the AllFlags class.

Пример, показывающий, как использовать флаг RestrictedMemberAccess с Интернет-кода, см. в разделе Пошаговое руководство: Выпуск кода в сценариях с частичным доверием.For an example that shows how to use the RestrictedMemberAccess flag with Internet code, see Walkthrough: Emitting Code in Partial Trust Scenarios.

ReflectionPermission restrictedMemberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess);
Dim restrictedMemberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess)

Комментарии

Это перечисление используется с ReflectionPermission и ReflectionPermissionAttribute классы.This enumeration is used by the ReflectionPermission and ReflectionPermissionAttribute classes. Если нет ReflectionPermission предоставлено, отражение допустимо для всех типов и членов, но операции вызова допустимы только на видимые элементы.If no ReflectionPermission is granted, reflection is allowed on all types and members, but invocation operations are allowed only on visible types and members. Дополнительные сведения см. в разделе Соображения о безопасности для отражения.For more information, see Security Considerations for Reflection.

Внимание!

Так как ReflectionPermission могут предоставлять доступ к закрытым членам класса, рекомендуется предоставить ReflectionPermission для Интернет-кода только с флагом RestrictedMemberAccess, а не с любыми другими флагами.Because ReflectionPermission can provide access to private class members, we recommend that you grant ReflectionPermission to Internet code only with the RestrictedMemberAccess flag, and not with any other flags.

Появился флаг RestrictedMemberAccess .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 SP1.The RestrictedMemberAccess flag is introduced in the .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 SP1. Чтобы использовать этот флаг, приложение должно использовать .NET Framework 3,5.NET Framework 3.5 или более поздней версии.To use this flag, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Важно!

AllFlags не включает флаг RestrictedMemberAccess.AllFlags does not include the RestrictedMemberAccess flag. Чтобы получить маску, которая включает все флаги в этом перечислении, необходимо использовать сочетание AllFlags с RestrictedMemberAccess.To get a mask that includes all flags in this enumeration, you must use the combination of AllFlags with RestrictedMemberAccess.

Начиная с .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 SP1, флаг ReflectionEmit больше не требуется создавать код, если не создаются отладочные символы.Starting with the .NET Framework 2.0 с пакетом обновления 1 (SP1).NET Framework 2.0 SP1, the ReflectionEmit flag is no longer required to emit code, unless debug symbols are emitted. Чтобы использовать эту функцию, приложение должно использовать .NET Framework 3,5.NET Framework 3.5 или более поздней версии.To use this feature, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Начиная с .NET Framework 2.0.NET Framework 2.0, свойству TypeInformation флаг больше не требуется для отражения на закрытых типах и членах; флаг был помечен как устаревший.Starting with the .NET Framework 2.0.NET Framework 2.0, the TypeInformation flag is no longer required to reflect on nonpublic types and members; the flag has been marked obsolete.

Применяется к

Дополнительно