ReflectionPermissionFlag Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
- Attributi
Campi
AllFlags | 7 |
|
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.