ReflectionPermission ReflectionPermission ReflectionPermission ReflectionPermission Class

정의

System.Reflection API를 통한 public이 아닌 형식 및 멤버에 대한 액세스를 제어합니다.Controls access to non-public types and members through the System.Reflection APIs. 또한 System.Reflection.Emit API의 몇 가지 기능을 제어합니다.Controls some features of the System.Reflection.Emit APIs.

public ref class ReflectionPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class ReflectionPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
상속
ReflectionPermissionReflectionPermissionReflectionPermissionReflectionPermission
특성
구현

설명

없이 ReflectionPermission, 코드는 리플렉션을 사용 하 여 개체의 public 멤버만 액세스할 수 있습니다.Without ReflectionPermission, code can use reflection to access only the public members of objects. 사용 하 여 코드 ReflectionPermission 적절 한 ReflectionPermissionFlag 플래그에 액세스할 수 합니다 protectedprivate 개체의 멤버입니다.Code with ReflectionPermission and the appropriate ReflectionPermissionFlag flags can access the protected and private members of objects.

주의

때문에 ReflectionPermission 액세스를 제공할 수 있습니다 public이 아닌 형식과 멤버에 부여 하지 마십시오 권장 ReflectionPermission 인터넷 코드 제외는 ReflectionPermissionFlag.RestrictedMemberAccess 플래그입니다.Because ReflectionPermission can provide access to non-public types and members, we recommend that you do not grant ReflectionPermission to Internet code, except with the ReflectionPermissionFlag.RestrictedMemberAccess flag. RestrictedMemberAccess public이 아닌 멤버의 권한 부여 집합에 동일 해야 하는 제한을 또는 public이 아닌 멤버에 액세스 하는 코드의 권한 부여 집합의 하위 집합을 사용 하 여 public이 아닌 멤버에 액세스할 수 있습니다.RestrictedMemberAccess allows access to non-public members, with the restriction that the grant set of the non-public members must be equal to, or a subset of, the grant set of the code that accesses the non-public members.

특정 기능의 리플렉션 내보내기에 디버그 기호 내보내기 등, 필요 ReflectionPermission 사용 하 여는 ReflectionPermissionFlag.ReflectionEmit 플래그입니다.Certain features of reflection emit, such as emitting debug symbols, require ReflectionPermission with the ReflectionPermissionFlag.ReflectionEmit flag.

자세한 내용은 ReflectionPermissionFlag 열거형을 참조하세요.For more information, see the ReflectionPermissionFlag enumeration.

생성자

ReflectionPermission(PermissionState) ReflectionPermission(PermissionState) ReflectionPermission(PermissionState) ReflectionPermission(PermissionState)

지정한 대로 완전 제한 또는 무제한 사용 권한을 사용하여 ReflectionPermission 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ReflectionPermission class with either fully restricted or unrestricted permission as specified.

ReflectionPermission(ReflectionPermissionFlag) ReflectionPermission(ReflectionPermissionFlag) ReflectionPermission(ReflectionPermissionFlag) ReflectionPermission(ReflectionPermissionFlag)

지정된 액세스를 사용하여 ReflectionPermission 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the ReflectionPermission class with the specified access.

속성

Flags Flags Flags Flags

현재 권한에 사용할 수 있는 리플렉션 형식을 가져오거나 설정합니다.Gets or sets the type of reflection allowed for the current permission.

메서드

Assert() Assert() Assert() Assert()

스택의 상위 호출자에게 리소스에 액세스할 수 있는 권한이 부여되지 않더라도 호출 코드가 이 메서드를 호출하는 코드를 통해 사용 권한 요구로 보호되는 리소스에 액세스할 수 있음을 선언합니다.Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. Assert()를 사용하면 보안 문제가 발생할 수 있습니다.Using Assert() can create security issues.

(Inherited from CodeAccessPermission)
Copy() Copy() Copy() Copy()

현재 사용 권한의 동일한 복사본을 만들고 반환합니다.Creates and returns an identical copy of the current permission.

Demand() Demand() Demand() Demand()

현재 인스턴스에서 지정한 사용 권한이 호출 스택의 일부 상위 호출자에만 부여된 경우 런타임에 SecurityException을 강제로 발생시킵니다.Forces a SecurityException at run time if all callers higher in the call stack have not been granted the permission specified by the current instance.

(Inherited from CodeAccessPermission)
Deny() Deny() Deny() Deny()

호출 스택의 상위 호출자가 이 메서드를 호출하는 코드를 통해 현재 인스턴스에서 지정한 리소스에 액세스하지 못하게 합니다.Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

(Inherited from CodeAccessPermission)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

지정한 CodeAccessPermission 개체가 현재 CodeAccessPermission과 같은지 여부를 확인합니다.Determines whether the specified CodeAccessPermission object is equal to the current CodeAccessPermission.

(Inherited from CodeAccessPermission)
FromXml(SecurityElement) FromXml(SecurityElement) FromXml(SecurityElement) FromXml(SecurityElement)

XML 인코딩을 사용하여 지정된 상태로 사용 권한을 다시 만듭니다.Reconstructs a permission with a specified state from an XML encoding.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

해시 알고리즘과 해시 테이블 같은 데이터 구조에 사용하기 적합한 CodeAccessPermission 개체에 대한 해시 코드를 가져옵니다.Gets a hash code for the CodeAccessPermission object that is suitable for use in hashing algorithms and data structures such as a hash table.

(Inherited from CodeAccessPermission)
GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
Intersect(IPermission) Intersect(IPermission) Intersect(IPermission) Intersect(IPermission)

현재 사용 권한과 지정된 사용 권한의 교집합에 해당하는 사용 권한을 만들어 반환합니다.Creates and returns a permission that is the intersection of the current permission and the specified permission.

IsSubsetOf(IPermission) IsSubsetOf(IPermission) IsSubsetOf(IPermission) IsSubsetOf(IPermission)

현재 사용 권한이 지정된 사용 권한의 하위 집합인지 여부를 확인합니다.Determines whether the current permission is a subset of the specified permission.

IsUnrestricted() IsUnrestricted() IsUnrestricted() IsUnrestricted()

현재 사용 권한이 무제한인지 여부를 나타내는 값을 반환합니다.Returns a value indicating whether the current permission is unrestricted.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
PermitOnly() PermitOnly() PermitOnly() PermitOnly()

호출 스택의 상위 호출자가 이 메서드를 호출하는 코드를 통해 현재 인스턴스에서 지정한 리소스를 제외한 모든 리소스에 액세스할 수 없게 합니다.Prevents callers higher in the call stack from using the code that calls this method to access all resources except for the resource specified by the current instance.

(Inherited from CodeAccessPermission)
ToString() ToString() ToString() ToString()

현재 권한 개체의 문자열 표현을 만들고 반환합니다.Creates and returns a string representation of the current permission object.

(Inherited from CodeAccessPermission)
ToXml() ToXml() ToXml() ToXml()

사용 권한 및 해당 사용 권한의 현재 상태에 대한 XML 인코딩을 만듭니다.Creates an XML encoding of the permission and its current state.

Union(IPermission) Union(IPermission) Union(IPermission) Union(IPermission)

현재 사용 권한 및 지정한 사용 권한을 합한 사용 권한을 만듭니다.Creates a permission that is the union of the current permission and the specified permission.

명시적 인터페이스 구현

IPermission.Demand() IPermission.Demand() IPermission.Demand() IPermission.Demand() Inherited from CodeAccessPermission
IStackWalk.Assert() IStackWalk.Assert() IStackWalk.Assert() IStackWalk.Assert() Inherited from CodeAccessPermission
IStackWalk.Demand() IStackWalk.Demand() IStackWalk.Demand() IStackWalk.Demand() Inherited from CodeAccessPermission
IStackWalk.Deny() IStackWalk.Deny() IStackWalk.Deny() IStackWalk.Deny() Inherited from CodeAccessPermission
IStackWalk.PermitOnly() IStackWalk.PermitOnly() IStackWalk.PermitOnly() IStackWalk.PermitOnly() Inherited from CodeAccessPermission

적용 대상

추가 정보