Esporta (0) Stampa
Espandi tutto

Classe ReflectionPermissionAttribute

Aggiornamento: novembre 2007

Consente di applicare al codice azioni di sicurezza per l'oggetto ReflectionPermission utilizzando la sicurezza dichiarativa.

Spazio dei nomi:  System.Security.Permissions
Assembly:  mscorlib (in mscorlib.dll)

[SerializableAttribute]
[AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple = true, 
	Inherited = false)]
[ComVisibleAttribute(true)]
public sealed class ReflectionPermissionAttribute : CodeAccessSecurityAttribute
/** @attribute SerializableAttribute */ 
/** @attribute AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Constructor|AttributeTargets.Method, AllowMultiple = true, Inherited = false) */
/** @attribute ComVisibleAttribute(true) */
public final class ReflectionPermissionAttribute extends CodeAccessSecurityAttribute
public final class ReflectionPermissionAttribute extends CodeAccessSecurityAttribute

L'ambito consentito della dichiarazione dipende dall'oggetto SecurityAction utilizzato.

Le informazioni di sicurezza dichiarate da un attributo di sicurezza sono archiviate nei metadati della destinazione dell'attributo e il sistema vi accede in fase di esecuzione. Gli attributi di sicurezza vengono utilizzati solo per la sicurezza dichiarativa. Per applicare la sicurezza imperativa, utilizzare la classe di autorizzazioni corrispondente.

Nell’esempio seguente di un attributo dichiarativo è descritto come richiedere l'oggetto ReflectionPermission per la proprietà ReflectionEmit ed è specificato che occorre disporre almeno di questa autorizzazione per eseguire il codice.

[assembly:ReflectionPermissionAttribute(SecurityAction.RequestMinimum,
ReflectionEmit=true)]
//In C#, you must specify that you are using the assembly scope when making a request.


/** @assembly ReflectionPermissionAttribute(SecurityAction.RequestMinimum, 
    ReflectionEmit = true)
 */
// In VJ#, you must specify that you are using the assembly scope when 
// making a request.


Nell'esempio riportato di seguito è illustrato come richiedere che al codice chiamante sia associato un oggetto ReflectionPermission senza restrizioni in fase di collegamento. Le richieste vengono effettuate in genere nelle librerie gestite (DLL) per proteggere metodi o classi da codice potenzialmente pericoloso.

[ReflectionPermissionAttribute(SecurityAction.Demand, Unrestricted=true)]


/** @attribute ReflectionPermissionAttribute(SecurityAction.Demand,
    Unrestricted = true)
 */


Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition , Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0, 1.1, 1.0

Aggiunte alla community

AGGIUNGI
Microsoft sta conducendo un sondaggio in linea per comprendere l'opinione degli utenti in merito al sito Web di MSDN. Se si sceglie di partecipare, quando si lascia il sito Web di MSDN verrà visualizzato il sondaggio in linea.

Si desidera partecipare?
Mostra:
© 2014 Microsoft