ReflectionPermissionFlag 열거형

정의

System.ReflectionSystem.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
상속
ReflectionPermissionFlag
특성

필드

AllFlags 7

TypeInformation, MemberAccessReflectionEmit이 설정됩니다.TypeInformation , MemberAccess, and ReflectionEmit are set. AllFlagsRestrictedMemberAccess를 포함하지 않습니다.AllFlags does not include RestrictedMemberAccess.

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 0

형식 및 멤버에 대한 열거가 허용됩니다.Enumeration of types and members is allowed. 호출 작업은 볼 수 있는 형식 및 멤버에 대해 허용됩니다.Invocation operations are allowed on visible types and members.

ReflectionEmit 4

디버그 기호 내보내기가 허용됩니다.Emitting debug symbols is allowed. .NET Framework 2.0 서비스 팩 1.NET Framework 2.0 Service Pack 1부터 코드를 내보낼 때 이 플래그가 더 이상 필요하지 않습니다.Beginning with the .NET Framework 2.0 서비스 팩 1.NET Framework 2.0 Service Pack 1, this flag is no longer required to emit code.

RestrictedMemberAccess 8

부분적으로 신뢰할 수 있는 코드에 대해 제한된 멤버 액세스 권한이 제공됩니다.Restricted member access is provided for partially trusted code. 액세스하는 public이 아닌 형식 및 멤버를 포함하는 어셈블리에 대한 권한 부여 설정의 모든 권한이 부분적으로 신뢰할 수 있는 코드에 대한 권한 부여 설정에 포함되어 있는 경우에만 부분적으로 신뢰할 수 있는 코드에서 public이 아닌 형식 및 멤버에 액세스할 수 있습니다.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 SP1.NET Framework 2.0 SP1에서 새로 추가되었습니다.This flag is new in the .NET Framework 2.0 SP1.NET Framework 2.0 SP1.

TypeInformation 1

이 플래그는 사용되지 않습니다.This flag is obsolete. 형식과 멤버를 열거하고 해당 메타데이터를 검사하는 데에는 플래그가 필요하지 않습니다.No flags are necessary to enumerate types and members and to examine their metadata. 대신 NoFlags를 사용하세요.Use NoFlags instead.

예제

다음 예제에서는 ReflectionPermissionFlag 열거를 사용 하 여 제한 된 멤버 액세스를 수행할 수 있는 권한을 나타내는 ReflectionPermission 클래스의 새 인스턴스를 초기화 하는 방법을 보여 줍니다.The following example shows how to use the ReflectionPermissionFlag enumeration to initialize a new instance of the ReflectionPermission class that represents the right to perform restricted member access. 이 예제는 ReflectionPermission 클래스에 대해 제공 되는 더 큰 예제의 일부입니다.This example is part of a larger example that is provided for the ReflectionPermission 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)

설명

이 열거형은에서 사용 합니다 ReflectionPermissionReflectionPermissionAttribute 클래스입니다.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는 전용 클래스 멤버에 대 한 액세스를 제공할 수 있으므로 다른 플래그가 아닌 RestrictedMemberAccess 플래그를 사용 하 여 인터넷 코드에 ReflectionPermission을 부여 하는 것이 좋습니다.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 SP1.NET Framework 2.0 SP1에서 도입되었습니다.The RestrictedMemberAccess flag is introduced in the .NET Framework 2.0 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. 이 열거형의 모든 플래그를 포함 하는 마스크를 얻으려면 RestrictedMemberAccessAllFlags 조합을 사용 해야 합니다.To get a mask that includes all flags in this enumeration, you must use the combination of AllFlags with RestrictedMemberAccess.

디버그 기호를 내보내지 않는 한 .NET Framework 2.0 SP1.NET Framework 2.0 SP1부터는 ReflectionEmit 플래그가 더 이상 코드를 내보낼 필요가 없습니다.Starting with the .NET Framework 2.0 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부터는 public이 아닌 형식과 멤버를 반영 하는 데 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.

적용 대상

추가 정보