ReflectionPermissionFlag ReflectionPermissionFlag ReflectionPermissionFlag ReflectionPermissionFlag Enum

Definizione

Specifica l'uso consentito degli spazi dei nomi System.Reflection e System.Reflection.Emit.Specifies the permitted use of the System.Reflection and System.Reflection.Emit namespaces.

Questa enumerazione ha un attributo FlagsAttribute che consente una combinazione bit per bit dei valori del relativo membro.

public enum class ReflectionPermissionFlag
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum ReflectionPermissionFlag
type ReflectionPermissionFlag = 
Public Enum ReflectionPermissionFlag
Ereditarietà
ReflectionPermissionFlagReflectionPermissionFlagReflectionPermissionFlagReflectionPermissionFlag
Attributi

Campi

AllFlags AllFlags AllFlags AllFlags 7

TypeInformation, MemberAccess e ReflectionEmit sono impostati.TypeInformation , MemberAccess, and ReflectionEmit are set. AllFlags non include RestrictedMemberAccess.AllFlags does not include RestrictedMemberAccess.

MemberAccess MemberAccess MemberAccess MemberAccess 2

Sono consentite le operazioni di chiamata su tutti i membri, indipendentemente dal set di autorizzazioni.Invocation operations on all members are allowed, regardless of grant set. Se il flag non è impostato, le operazioni di chiamata saranno consentite solo sui membri visibili.If this flag is not set, invocation operations are allowed only on visible members.

NoFlags NoFlags NoFlags NoFlags 0

È consentita l'enumerazione di tipi e membri.Enumeration of types and members is allowed. Le operazioni di chiamata sono consentite su tipi e membri visibili.Invocation operations are allowed on visible types and members.

ReflectionEmit ReflectionEmit ReflectionEmit ReflectionEmit 4

È consentita la generazione di simboli di debug.Emitting debug symbols is allowed. A partire dalla versione .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, questo flag non è più necessario per generare il codice.Beginning with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this flag is no longer required to emit code.

RestrictedMemberAccess RestrictedMemberAccess RestrictedMemberAccess RestrictedMemberAccess 8

Viene fornito l'accesso limitato ai membri per il codice parzialmente attendibile.Restricted member access is provided for partially trusted code. 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.Partially trusted code can access nonpublic types and members, but only if the grant set of the partially trusted code includes all permissions in the grant set of the assembly that contains the nonpublic types and members being accessed. Questo flag è nuovo in .NET Framework 2.0 SP1.NET Framework 2.0 SP1.This flag is new in the .NET Framework 2.0 SP1.NET Framework 2.0 SP1.

TypeInformation TypeInformation TypeInformation TypeInformation 1

Questo flag è obsoleto.This flag is obsolete. Non è necessario alcun flag per enumerare i tipi e i membri e per esaminarne i metadati.No flags are necessary to enumerate types and members and to examine their metadata. In alternativa, usare NoFlags.Use NoFlags instead.

Esempi

Nell'esempio seguente viene illustrato come utilizzare il RestrictedMemberAccess enumerazione per inizializzare una nuova istanza del RestrictedMemberAccess classe che rappresenta il diritto di eseguire l'accesso limitato al membro.The following example shows how to use the RestrictedMemberAccess enumeration to initialize a new instance of the RestrictedMemberAccess class that represents the right to perform restricted member access. Questo esempio fa parte di un esempio più esaustivo fornito per il AllFlags classe.This example is part of a larger example that is provided for the AllFlags class.

Per un esempio che illustra come usare il flag di RestrictedMemberAccess con codice di Internet, vedere procedura dettagliata: Creazione di codice in scenari con attendibilità parziale.For an example that shows how to use the RestrictedMemberAccess flag with Internet code, see Walkthrough: Emitting Code in Partial Trust Scenarios.

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

Commenti

Questa enumerazione viene utilizzata per la ReflectionPermission e ReflectionPermissionAttribute classi.This enumeration is used by the ReflectionPermission and ReflectionPermissionAttribute classes. Se nessun ReflectionPermission viene concesso, è consentita la reflection su tutti i tipi e membri, ma le operazioni di chiamata sono consentite solo tipi e membri visibili.If no ReflectionPermission is granted, reflection is allowed on all types and members, but invocation operations are allowed only on visible types and members. Per altre informazioni, vedere Security Considerations for Reflection (Considerazioni sulla sicurezza per reflection).For more information, see Security Considerations for Reflection.

Attenzione

In quanto ReflectionPermission può fornire l'accesso ai membri della classe privata, è consigliabile concedere ReflectionPermission per solo con il flag di RestrictedMemberAccess e non con qualsiasi altro flag del codice Internet.Because ReflectionPermission can provide access to private class members, we recommend that you grant ReflectionPermission to Internet code only with the RestrictedMemberAccess flag, and not with any other flags.

Il flag di RestrictedMemberAccess è stato introdotto nel .NET Framework 2.0 SP1.NET Framework 2.0 SP1.The RestrictedMemberAccess flag is introduced in the .NET Framework 2.0 SP1.NET Framework 2.0 SP1. Per usare questo flag, l'applicazione deve avere come destinazione il .NET Framework 3.5.NET Framework 3.5 o versione successiva.To use this flag, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Importante

AllFlags non include il flag di RestrictedMemberAccess.AllFlags does not include the RestrictedMemberAccess flag. Per ottenere una maschera che include tutti i flag di questa enumerazione, è necessario usare la combinazione di AllFlags con RestrictedMemberAccess.To get a mask that includes all flags in this enumeration, you must use the combination of AllFlags with RestrictedMemberAccess.

A partire dal .NET Framework 2.0 SP1.NET Framework 2.0 SP1, il flag ReflectionEmit non è più necessario per generare il codice, a meno che non vengono generati i simboli di debug.Starting with the .NET Framework 2.0 SP1.NET Framework 2.0 SP1, the ReflectionEmit flag is no longer required to emit code, unless debug symbols are emitted. Per usare questa funzionalità, l'applicazione deve avere come destinazione il .NET Framework 3.5.NET Framework 3.5 o versione successiva.To use this feature, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

A partire dal .NET Framework 2.0.NET Framework 2.0, il flag TypeInformation non è più necessario che si riflettono sui tipi non pubblici e membri; il flag è stato contrassegnato come obsoleto.Starting with the .NET Framework 2.0.NET Framework 2.0, the TypeInformation flag is no longer required to reflect on nonpublic types and members; the flag has been marked obsolete.

Si applica a

Vedi anche