ReflectionPermissionFlag 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
주의
Code Access Security is not supported or honored by the runtime.
System.Reflection 및 System.Reflection.Emit 네임스페이스에 허용되는 용도를 지정합니다.
이 열거형은 멤버 값의 비트 조합을 지원합니다.
public enum class ReflectionPermissionFlag
[System.Flags]
public enum ReflectionPermissionFlag
[System.Flags]
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public enum ReflectionPermissionFlag
[System.Flags]
[System.Serializable]
public enum ReflectionPermissionFlag
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum ReflectionPermissionFlag
[<System.Flags>]
type ReflectionPermissionFlag =
[<System.Flags>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type ReflectionPermissionFlag =
[<System.Flags>]
[<System.Serializable>]
type ReflectionPermissionFlag =
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ReflectionPermissionFlag =
Public Enum ReflectionPermissionFlag
- 상속
- 특성
필드
AllFlags | 7 |
|
MemberAccess | 2 | 권한 부여 설정에 관계없이 모든 멤버에 대해 호출 작업이 허용됩니다. 이 플래그를 설정하지 않으면 볼 수 있는 멤버에 대해서만 호출 작업이 허용됩니다. |
NoFlags | 0 | 형식 및 멤버에 대한 열거가 허용됩니다. 호출 작업은 볼 수 있는 형식 및 멤버에 대해 허용됩니다. |
ReflectionEmit | 4 | 디버그 기호 내보내기가 허용됩니다. .NET Framework 2.0 서비스 팩 1부터 이 플래그는 더 이상 코드를 내보내지 않아도 됩니다. |
RestrictedMemberAccess | 8 | 부분적으로 신뢰할 수 있는 코드에 대해 제한된 멤버 액세스 권한이 제공됩니다. 액세스하는 public이 아닌 형식 및 멤버를 포함하는 어셈블리에 대한 권한 부여 설정의 모든 권한이 부분적으로 신뢰할 수 있는 코드에 대한 권한 부여 설정에 포함되어 있는 경우에만 부분적으로 신뢰할 수 있는 코드에서 public이 아닌 형식 및 멤버에 액세스할 수 있습니다. 이 플래그는 .NET Framework 2.0 SP1의 새로운 기능입니다. |
TypeInformation | 1 | 이 플래그는 사용되지 않습니다. 형식과 멤버를 열거하고 해당 메타데이터를 검사하는 데에는 플래그가 필요하지 않습니다. 대신 NoFlags를 사용하세요. |
예제
다음 예제에서는 열거형을 사용하여 ReflectionPermissionFlag
제한된 멤버 액세스를 수행할 수 있는 권한을 나타내는 클래스의 ReflectionPermission 새 인스턴스를 초기화하는 방법을 보여 줍니다. 이 예제는 클래스에 대해 제공되는 더 큰 예제의 ReflectionPermission 일부입니다.
인터넷 코드에서 RestrictedMemberAccess 플래그를 사용하는 방법을 보여 주는 예제는 연습: 부분 신뢰 시나리오에서 코드 내보내기 연습을 참조하세요.
ReflectionPermission restrictedMemberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess);
Dim restrictedMemberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess)
설명
주의
CAS(코드 액세스 보안)는 모든 버전의 .NET Framework 및 .NET에서 더 이상 사용되지 않습니다. 최신 버전의 .NET은 CAS 주석을 적용하지 않으며 CAS 관련 API를 사용하는 경우 오류를 생성합니다. 개발자는 보안 작업을 수행하는 대체 방법을 찾아야 합니다.
이 열거형은에서 사용 합니다 ReflectionPermission 고 ReflectionPermissionAttribute 클래스입니다. 부여 ReflectionPermission 되지 않은 경우 모든 형식 및 멤버에서 리플렉션이 허용되지만 호출 작업은 표시되는 형식 및 멤버에서만 허용됩니다. 자세한 내용은 리플렉션의 보안 고려 사항을 참조하세요.
주의
프라이빗 클래스 멤버에 대한 액세스를 제공할 수 있으므로 ReflectionPermission 다른 플래그가 아닌 플래그를 사용하여 인터넷 코드에 RestrictedMemberAccess
만 부여하는 ReflectionPermission 것이 좋습니다.
플래그는 RestrictedMemberAccess
.NET Framework 2.0 SP1에 도입됩니다. 이 플래그를 사용하려면 애플리케이션이 .NET Framework 3.5 이상을 대상으로 해야 합니다.
중요
AllFlags
는 플래그를 RestrictedMemberAccess
포함하지 않습니다. 이 열거형의 모든 플래그를 포함하는 마스크를 얻으려면 다음의 AllFlags
RestrictedMemberAccess
조합을 사용해야 합니다.
.NET Framework 2.0 SP1 ReflectionEmit
부터 디버그 기호가 내보내지지 않는 한 플래그는 더 이상 코드를 내보내지 않아도 됩니다. 이 기능을 사용하려면 애플리케이션이 .NET Framework 3.5 이상을 대상으로 해야 합니다.
.NET Framework 2.0 TypeInformation
부터 플래그는 더 이상 게시되지 않은 형식 및 멤버를 반영할 필요가 없습니다. 플래그는 사용되지 않는 것으로 표시되었습니다.