ReflectionPermissionFlag Enumeración

Definición

Especifica el uso permitido de los espacios de nombres System.Reflection y System.Reflection.Emit.Specifies the permitted use of the System.Reflection and System.Reflection.Emit namespaces.

Esta enumeración tiene el atributo FlagsAttribute, que permite una combinación bit a bit de sus valores de miembro.

public enum class ReflectionPermissionFlag
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum ReflectionPermissionFlag
type ReflectionPermissionFlag = 
Public Enum ReflectionPermissionFlag
Herencia
ReflectionPermissionFlag
Atributos

Campos

AllFlags 7

Se establece TypeInformation, MemberAccess y ReflectionEmit.TypeInformation , MemberAccess, and ReflectionEmit are set. AllFlags no incluye RestrictedMemberAccess.AllFlags does not include RestrictedMemberAccess.

MemberAccess 2

Se permiten las operaciones de invocación en todos los miembros, sin tener en cuenta el conjunto de permisos concedidos.Invocation operations on all members are allowed, regardless of grant set. Si no se establece este marcador, sólo se permiten las operaciones de invocación en miembros visibles.If this flag is not set, invocation operations are allowed only on visible members.

NoFlags 0

Se permite la enumeración de tipos y miembros.Enumeration of types and members is allowed. Las operaciones de invocación se permiten en los tipos y miembros visibles.Invocation operations are allowed on visible types and members.

ReflectionEmit 4

Se permite emitir símbolos de depuración.Emitting debug symbols is allowed. A partir de .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, este marcador no es necesario para emitir código.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 8

El acceso de miembro restringido se proporciona para el código de confianza parcial.Restricted member access is provided for partially trusted code. El código de confianza parcial puede tener acceso a los tipos y miembros no públicos, pero sólo si el conjunto de permisos concedidos del código de confianza parcial incluye todos los permisos del conjunto de permisos del ensamblado que contiene los tipos y miembros no públicos a los que se obtiene acceso.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. Este marcador es nuevo en .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 1

Este marcador está obsoleto.This flag is obsolete. No es necesario ningún marcador para enumerar tipos y miembros y examinar sus metadatos.No flags are necessary to enumerate types and members and to examine their metadata. Utilice NoFlags en su lugar.Use NoFlags instead.

Ejemplos

En el ejemplo siguiente se muestra cómo usar la enumeración ReflectionPermissionFlag para inicializar una nueva instancia de la clase ReflectionPermission que representa el derecho a realizar el acceso a miembros restringidos.The following example shows how to use the ReflectionPermissionFlag enumeration to initialize a new instance of the ReflectionPermission class that represents the right to perform restricted member access. Este ejemplo forma parte de un ejemplo más grande que se proporciona para la clase ReflectionPermission.This example is part of a larger example that is provided for the ReflectionPermission class.

Para obtener un ejemplo en el que se muestra cómo usar la marca RestrictedMemberAccess con código de Internet, vea Tutorial: Emisión de código en escenarios de confianza parcial.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)

Comentarios

Esta enumeración la utilizan las clases ReflectionPermission y ReflectionPermissionAttribute.This enumeration is used by the ReflectionPermission and ReflectionPermissionAttribute classes. Si no se concede ningún ReflectionPermission, se permite la reflexión en todos los tipos y miembros, pero las operaciones de invocación solo se permiten en tipos y miembros visibles.If no ReflectionPermission is granted, reflection is allowed on all types and members, but invocation operations are allowed only on visible types and members. Para obtener más información, vea el artículo sobre consideraciones de seguridad sobre la reflexión.For more information, see Security Considerations for Reflection.

Precaución

Dado que ReflectionPermission puede proporcionar acceso a los miembros de clase privada, se recomienda conceder ReflectionPermission a código de Internet solo con la marca RestrictedMemberAccess y no con otras marcas.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.

La marca RestrictedMemberAccess se introduce en .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. Para usar esta marca, la aplicación debe tener como destino el .NET Framework 3,5.NET Framework 3.5 o posterior.To use this flag, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Importante

AllFlags no incluye la marca de RestrictedMemberAccess.AllFlags does not include the RestrictedMemberAccess flag. Para obtener una máscara que incluya todas las marcas de esta enumeración, debe usar la combinación de AllFlags con RestrictedMemberAccess.To get a mask that includes all flags in this enumeration, you must use the combination of AllFlags with RestrictedMemberAccess.

A partir de la .NET Framework 2.0 SP1.NET Framework 2.0 SP1, la marca de ReflectionEmit ya no es necesaria para emitir código, a menos que se emitan símbolos de depuración.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. Para usar esta característica, la aplicación debe tener como destino el .NET Framework 3,5.NET Framework 3.5 o posterior.To use this feature, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

A partir de la .NET Framework 2.0.NET Framework 2.0, ya no es necesario que la marca de TypeInformation se refleje en tipos y miembros no públicos; la marca se ha marcado como obsoleta.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.

Se aplica a

Consulte también: