ReflectionPermission Classe

Definizione

Attenzione

Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}

Controlla l'accesso ai tipi e ai membri non pubblici attraverso le API System.Reflection.Controls access to non-public types and members through the System.Reflection APIs. Controlla alcune funzionalità delle API System.Reflection.Emit.Controls some features of the System.Reflection.Emit APIs.

public ref class ReflectionPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class ReflectionPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
Ereditarietà
ReflectionPermission
Attributi
Implementazioni

Commenti

Senza ReflectionPermission , il codice può usare la reflection per accedere solo ai membri pubblici degli oggetti.Without ReflectionPermission, code can use reflection to access only the public members of objects. Il codice con ReflectionPermission e i ReflectionPermissionFlag flag appropriati possono accedere protected ai private membri e degli oggetti.Code with ReflectionPermission and the appropriate ReflectionPermissionFlag flags can access the protected and private members of objects.

Attenzione

Poiché ReflectionPermission può fornire l'accesso a membri e tipi non pubblici, è consigliabile non concedere ReflectionPermission al codice Internet, ad eccezione del ReflectionPermissionFlag.RestrictedMemberAccess flag.Because ReflectionPermission can provide access to non-public types and members, we recommend that you do not grant ReflectionPermission to Internet code, except with the ReflectionPermissionFlag.RestrictedMemberAccess flag. RestrictedMemberAccess consente l'accesso a membri non pubblici, con la restrizione che il set di concessioni dei membri non pubblici deve essere uguale o un subset di, il set di concessioni del codice che accede ai membri non pubblici.RestrictedMemberAccess allows access to non-public members, with the restriction that the grant set of the non-public members must be equal to, or a subset of, the grant set of the code that accesses the non-public members.

Alcune funzionalità della reflection emit, ad esempio la creazione di simboli di debug, richiedono ReflectionPermission con il ReflectionPermissionFlag.ReflectionEmit flag.Certain features of reflection emit, such as emitting debug symbols, require ReflectionPermission with the ReflectionPermissionFlag.ReflectionEmit flag.

Per altre informazioni, vedere l'enumerazione ReflectionPermissionFlag.For more information, see the ReflectionPermissionFlag enumeration.

Costruttori

ReflectionPermission(PermissionState)

Inizializza una nuova istanza della classe ReflectionPermission con autorizzazione con restrizioni o senza restrizioni, come specificato.Initializes a new instance of the ReflectionPermission class with either fully restricted or unrestricted permission as specified.

ReflectionPermission(ReflectionPermissionFlag)

Inizializza una nuova istanza della classe ReflectionPermission con l'accesso specificato.Initializes a new instance of the ReflectionPermission class with the specified access.

Proprietà

Flags

Ottiene o imposta il tipo di reflection consentito per l'autorizzazione corrente.Gets or sets the type of reflection allowed for the current permission.

Metodi

Assert()

Dichiara che il codice chiamante può accedere alla risorsa protetta da una richiesta di autorizzazione tramite il codice che chiama il metodo, anche se ai chiamanti più in alto nello stack non è stata concessa l'autorizzazione per accedere alla risorsa.Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. L'uso di Assert() può creare problemi di sicurezza.Using Assert() can create security issues.

(Ereditato da CodeAccessPermission)
Copy()

Crea e restituisce una copia identica dell'autorizzazione corrente.Creates and returns an identical copy of the current permission.

Demand()

Forza un oggetto SecurityException in fase di esecuzione se tutti i chiamanti in posizioni superiori nello stack di chiamate non hanno l'autorizzazione specificata dall'istanza corrente.Forces a SecurityException at run time if all callers higher in the call stack have not been granted the permission specified by the current instance.

(Ereditato da CodeAccessPermission)
Deny()
Obsoleta.
Obsoleta.

Impedisce ai chiamanti in posizione più elevata nello stack di chiamate di usare il codice che chiama questo metodo per accedere alla risorsa specificata dall'istanza corrente.Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

(Ereditato da CodeAccessPermission)
Equals(Object)

Consente di determinare se l'oggetto CodeAccessPermission specificato è uguale all'oggetto CodeAccessPermission corrente.Determines whether the specified CodeAccessPermission object is equal to the current CodeAccessPermission.

(Ereditato da CodeAccessPermission)
FromXml(SecurityElement)

Ricostruisce un'autorizzazione con uno stato specificato da una codifica XML.Reconstructs a permission with a specified state from an XML encoding.

GetHashCode()

Ottiene un codice hash per l'oggetto CodeAccessPermission adatto per l'uso in algoritmi di hash e in strutture di dati, come una tabella hash.Gets a hash code for the CodeAccessPermission object that is suitable for use in hashing algorithms and data structures such as a hash table.

(Ereditato da CodeAccessPermission)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
Intersect(IPermission)

Crea e restituisce un'autorizzazione che rappresenta l'intersezione tra l'autorizzazione corrente e quella specificata.Creates and returns a permission that is the intersection of the current permission and the specified permission.

IsSubsetOf(IPermission)

Determina se l'autorizzazione corrente è un subset di quella specificata.Determines whether the current permission is a subset of the specified permission.

IsUnrestricted()

Restituisce un valore che indica se l'autorizzazione corrente è senza restrizioni.Returns a value indicating whether the current permission is unrestricted.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
PermitOnly()

Impedisce ai chiamanti in posizione più elevata nello stack di chiamate di usare il codice che chiama questo metodo per accedere a tutte le risorse eccetto quella specificata dall'istanza corrente.Prevents callers higher in the call stack from using the code that calls this method to access all resources except for the resource specified by the current instance.

(Ereditato da CodeAccessPermission)
ToString()

Crea e restituisce una rappresentazione di stringa dell'oggetto autorizzazione corrente.Creates and returns a string representation of the current permission object.

(Ereditato da CodeAccessPermission)
ToXml()

Crea una codifica XML dell'autorizzazione e del relativo stato corrente.Creates an XML encoding of the permission and its current state.

Union(IPermission)

Crea un'autorizzazione che rappresenta l'unione dell'autorizzazione corrente e di quella specificata.Creates a permission that is the union of the current permission and the specified permission.

Implementazioni dell'interfaccia esplicita

IPermission.Demand()

Genera un'eccezione SecurityException in fase di esecuzione se non viene soddisfatto il requisito di sicurezza.Throws a SecurityException at run time if the security requirement is not met.

(Ereditato da CodeAccessPermission)
IStackWalk.Assert()

Dichiara che il codice chiamante può accedere alla ricorsa identificata dall'oggetto autorizzazioni corrente, anche se ai chiamanti più in alto nello stack non è stata concessa l'autorizzazione ad accedere alla risorsa.Asserts that the calling code can access the resource identified by the current permission object, even if callers higher in the stack have not been granted permission to access the resource.

(Ereditato da CodeAccessPermission)
IStackWalk.Demand()

Determina in fase di esecuzione se tutti i chiamanti nello stack di chiamate hanno l'autorizzazione specificata dall'oggetto autorizzazioni corrente.Determines at run time whether all callers in the call stack have been granted the permission specified by the current permission object.

(Ereditato da CodeAccessPermission)
IStackWalk.Deny()

Causa l'esito negativo di ogni oggetto Demand() per l'oggetto corrente che passa attraverso il codice chiamante.Causes every Demand() for the current object that passes through the calling code to fail.

(Ereditato da CodeAccessPermission)
IStackWalk.PermitOnly()

Causa un errore per ogni metodo Demand() che attraversa il codice chiamante per tutti gli oggetti ad eccezione dell'oggetto corrente, anche se al codice di livello superiore nello stack di chiamate è stata concessa l'autorizzazione per accedere ad altre risorse.Causes every Demand() for all objects except the current one that pass through the calling code to fail, even if code higher in the call stack has been granted permission to access other resources.

(Ereditato da CodeAccessPermission)

Si applica a

Vedi anche