ReflectionPermissionFlag ReflectionPermissionFlag ReflectionPermissionFlag ReflectionPermissionFlag Enum

정의

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
상속
ReflectionPermissionFlagReflectionPermissionFlagReflectionPermissionFlagReflectionPermissionFlag
특성

필드

AllFlags AllFlags AllFlags AllFlags 7

TypeInformation, MemberAccessReflectionEmit이 설정됩니다.TypeInformation , MemberAccess, and ReflectionEmit are set. AllFlagsRestrictedMemberAccess를 포함하지 않습니다.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.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 RestrictedMemberAccess RestrictedMemberAccess 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 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)

설명

이 열거형은에서 사용 합니다 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 액세스를 제공할 수 있습니다 private 클래스 멤버에 부여 하는 권장 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 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. 이 열거형에서 플래그를 모두 포함 하는 마스크를 가져오려면 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 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, TypeInformation 플래그를 public이 아닌 형식과 멤버에 대해 반영 하기 위해 더 이상 필요; 플래그를 사용 되지 않는 표시 되었습니다.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.

적용 대상

추가 정보