ReflectionPermissionFlag Enumerazione

Definizione

Attenzione

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

Specifica l'uso consentito degli spazi dei nomi System.Reflection e System.Reflection.Emit.

Questa enumerazione supporta una combinazione bit per bit dei rispettivi valori dei membri.

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
Ereditarietà
ReflectionPermissionFlag
Attributi

Campi

AllFlags 7

TypeInformation, MemberAccess e ReflectionEmit sono impostati. AllFlags non include RestrictedMemberAccess.

MemberAccess 2

Sono consentite le operazioni di chiamata su tutti i membri, indipendentemente dal set di autorizzazioni. Se il flag non è impostato, le operazioni di chiamata saranno consentite solo sui membri visibili.

NoFlags 0

È consentita l'enumerazione di tipi e membri. Le operazioni di chiamata sono consentite su tipi e membri visibili.

ReflectionEmit 4

È consentita la generazione di simboli di debug. A partire da .NET Framework 2.0 Service Pack 1, questo flag non è più necessario per generare codice.

RestrictedMemberAccess 8

Viene fornito l'accesso limitato ai membri per il codice parzialmente attendibile. Il codice parzialmente attendibile può accedere a tipi e membri non pubblici, ma solo se il set di concessioni del codice parzialmente attendibile include tutte le autorizzazioni nel set di concessioni dell'assembly che contiene i tipi e i membri non pubblici a cui è in corso l'accesso. Questo flag è una novità di .NET Framework 2.0 SP1.

TypeInformation 1

Questo flag è obsoleto. Non è necessario alcun flag per enumerare i tipi e i membri e per esaminarne i metadati. In alternativa, utilizzare NoFlags.

Esempio

Nell'esempio seguente viene illustrato come utilizzare l'enumerazione ReflectionPermissionFlag per inizializzare una nuova istanza della ReflectionPermission classe che rappresenta il diritto di eseguire l'accesso ai membri con restrizioni. Questo esempio fa parte di un esempio più ampio fornito per la ReflectionPermission classe .

Per un esempio che illustra come usare il flag RestrictedMemberAccess con codice Internet, vedere Procedura dettagliata: creazione di codice in scenari di attendibilità parziale.

ReflectionPermission restrictedMemberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess);
Dim restrictedMemberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess)

Commenti

Attenzione

La sicurezza di accesso al codice è stata deprecata in tutte le versioni di .NET Framework e .NET. Le versioni recenti di .NET non rispettano le annotazioni CAS e generano errori se vengono usate API correlate a CAS. Gli sviluppatori devono cercare mezzi alternativi per eseguire attività di sicurezza.

Questa enumerazione viene utilizzata dalle ReflectionPermission classi e ReflectionPermissionAttribute . Se non viene concesso alcun valore ReflectionPermission , la reflection è consentita per tutti i tipi e i membri, ma le operazioni di chiamata sono consentite solo su tipi e membri visibili. Per altre informazioni, vedere Security Considerations for Reflection (Considerazioni sulla sicurezza per reflection).

Attenzione

Poiché ReflectionPermission può fornire l'accesso ai membri della classe privata, è consigliabile concedere ReflectionPermission al codice Internet solo con il RestrictedMemberAccess flag e non con altri flag.

Il RestrictedMemberAccess flag viene introdotto in .NET Framework 2.0 SP1. Per usare questo flag, l'applicazione deve avere come destinazione .NET Framework 3.5 o versione successiva.

Importante

AllFlags non include il RestrictedMemberAccess flag . Per ottenere una maschera che include tutti i flag in questa enumerazione, è necessario usare la combinazione di AllFlags con RestrictedMemberAccess.

A partire da .NET Framework 2.0 SP1, il ReflectionEmit flag non è più necessario per generare codice, a meno che non vengano generati simboli di debug. Per usare questa funzionalità, l'applicazione deve avere come destinazione .NET Framework 3.5 o versione successiva.

A partire da .NET Framework 2.0, il TypeInformation flag non è più necessario per riflettere su tipi e membri non pubblici. Il flag è stato contrassegnato come obsoleto.

Si applica a

Vedi anche