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


ReflectionPermission Класс

Определение

Внимание!

Code Access Security is not supported or honored by the runtime.

Управляет доступом к закрытым типам и членам через API System.Reflection. Управляет некоторыми функциями API System.Reflection.Emit.

public ref class ReflectionPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class ReflectionPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
Наследование
ReflectionPermission
Атрибуты
Реализации

Комментарии

Внимание!

Безопасность доступа к коду (CAS) является устаревшей во всех версиях платформа .NET Framework и .NET. В последних версиях .NET заметки CAS не учитываются и при использовании API, связанных с CAS, возникают ошибки. Разработчикам следует искать альтернативные способы выполнения задач безопасности.

Без ReflectionPermissionкода можно использовать отражение для доступа только к открытым членам объектов . Код с ReflectionPermission соответствующими ReflectionPermissionFlag флагами и может обращаться protected к элементам и private объектов .

Внимание!

Так как ReflectionPermission может предоставлять доступ к не открытым типам и членам, рекомендуется не предоставлять ReflectionPermission интернет-код, кроме как с флагом ReflectionPermissionFlag.RestrictedMemberAccess . RestrictedMemberAccess разрешает доступ к элементам, не являющиеся открытыми, с ограничением на то, что набор разрешений для не являющихся открытыми членами должен быть равен набору разрешений кода, который обращается к не открытым членам, или его подмножество.

Для некоторых функций испускаемых отражений, таких как выдача отладочных символов, требуется ReflectionPermissionReflectionPermissionFlag.ReflectionEmit флаг .

Дополнительные сведения см. в описании перечисления ReflectionPermissionFlag.

Конструкторы

ReflectionPermission(PermissionState)
Устаревшие..

Инициализирует новый экземпляр класса ReflectionPermission указанным состоянием разрешения: полностью ограниченное или неограниченное.

ReflectionPermission(ReflectionPermissionFlag)
Устаревшие..

Инициализирует новый экземпляр класса ReflectionPermission с заданным доступом.

Свойства

Flags
Устаревшие..

Получает или задает тип отражения, допустимого для текущего разрешения.

Методы

Assert()
Устаревшие..

Объявляет, что вызывающий код может получить доступ к ресурсу, защищенному требованием разрешения, через код, вызывающий этот метод, даже если вызывающим объектам выше в стеке вызовов не предоставлено разрешение на доступ к ресурсу. Assert() может вызвать проблемы системы безопасности.

(Унаследовано от CodeAccessPermission)
Copy()
Устаревшие..

Создает и возвращает идентичную копию текущего разрешения.

Demand()
Устаревшие..

Принудительно создает SecurityException во время выполнения, если все вызывающие методы, расположенные выше в стеке вызовов, не получили разрешения, указанного текущим экземпляром.

(Унаследовано от CodeAccessPermission)
Deny()
Устаревшие..
Устаревшие..

Запрещает вызывающим объектам выше в стеке вызовов использовать код, который вызывает этот метод для доступа к ресурсу, указанному текущим экземпляром.

(Унаследовано от CodeAccessPermission)
Equals(Object)
Устаревшие..

Определяет, равен ли заданный объект CodeAccessPermission текущему объекту CodeAccessPermission.

(Унаследовано от CodeAccessPermission)
FromXml(SecurityElement)
Устаревшие..

Восстанавливает разрешение с указанным состоянием из кодировки XML.

GetHashCode()
Устаревшие..

Возвращает хэш-код для объекта CodeAccessPermission, который можно использовать в алгоритмах хэширования и структурах данных, например в хэш-таблице.

(Унаследовано от CodeAccessPermission)
GetType()
Устаревшие..

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
Intersect(IPermission)
Устаревшие..

Создает и возвращает разрешение, представляющее собой пересечение текущего и указанного разрешений.

IsSubsetOf(IPermission)
Устаревшие..

Определяет, является ли текущее разрешение подмножеством указанного разрешения.

IsUnrestricted()
Устаревшие..

Возвращает значение, указывающее, является ли текущее разрешение неограниченным.

MemberwiseClone()
Устаревшие..

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
PermitOnly()
Устаревшие..

Запрещает вызывающим объектам выше в стеке вызовов использовать код, который вызывает этот метод для доступа ко всем ресурсам, за исключением ресурса, указанного текущим экземпляром.

(Унаследовано от CodeAccessPermission)
ToString()
Устаревшие..

Создает и возвращает строковое представление текущего объекта разрешения.

(Унаследовано от CodeAccessPermission)
ToXml()
Устаревшие..

Создает кодировку XML для разрешения и его текущего состояния.

Union(IPermission)
Устаревшие..

Создает разрешение, представляющее собой объединение текущего и указанного разрешений.

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

См. также раздел