ReflectionPermission 类

定义

注意

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

通过 System.Reflection API 控制对非公共类型和成员的访问。 控制 API 的某些 System.Reflection.Emit 功能。

public ref class ReflectionPermission sealed : 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
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}")>]
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
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class ReflectionPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
继承
ReflectionPermission
属性
实现

注解

Caution

代码访问安全性(CAS)已在 .NET Framework 和 .NET 的所有版本中弃用。 如果使用与 CAS 相关的 API,最新版本的 .NET 不会遵循 CAS 注释,并会生成错误。 开发人员应寻求完成安全任务的替代方法。

如果没有 ReflectionPermission,代码可以使用反射来仅访问对象的公共成员。 具有 ReflectionPermission 和相应 ReflectionPermissionFlag 标志的代码可以访问 protectedprivate 对象的成员。

Caution

由于 ReflectionPermission 可以提供访问非公共类型和成员的权限,我们建议不要向 Internet 代码授予 ReflectionPermission,除非使用 ReflectionPermissionFlag.RestrictedMemberAccess 标志。 RestrictedMemberAccess 允许访问非公共成员,并限制非公共成员的授予集必须等于或子集访问非公共成员的代码的授予集。

反射发出的某些功能(如发出调试符号)需要 ReflectionPermission 标志 ReflectionPermissionFlag.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)
已过时.

创建一个权限,该权限是当前权限和指定权限的并集。

适用于

另请参阅