ReflectionPermissionFlag ReflectionPermissionFlag ReflectionPermissionFlag ReflectionPermissionFlag Enum

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
ReflectionPermissionFlagReflectionPermissionFlagReflectionPermissionFlagReflectionPermissionFlag
Atributos

Campos

AllFlags AllFlags AllFlags AllFlags 7

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

MemberAccess MemberAccess MemberAccess 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 NoFlags NoFlags 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 ReflectionEmit ReflectionEmit 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 RestrictedMemberAccess RestrictedMemberAccess 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 TypeInformation TypeInformation 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

El ejemplo siguiente muestra cómo usar el RestrictedMemberAccess enumeración para inicializar una nueva instancia de la RestrictedMemberAccess clase que representa el derecho a realizar el acceso a miembros restringidos.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. Este ejemplo forma parte de un ejemplo más extenso proporcionado para el AllFlags clase.This example is part of a larger example that is provided for the AllFlags class.

Para obtener un ejemplo que muestra cómo usar la marca RestrictedMemberAccess con código de Internet, consulte 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 se utiliza en el ReflectionPermission y ReflectionPermissionAttribute clases.This enumeration is used by the ReflectionPermission and ReflectionPermissionAttribute classes. Si no hay ningún ReflectionPermission se concede, se permite la reflexión en todos los tipos y miembros, pero las operaciones de invocación sólo 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, le recomendamos que conceda ReflectionPermission al código de Internet sólo con la marca RestrictedMemberAccess y no con otros indicadores.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 introdujo en la .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 una versión 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 RestrictedMemberAccess.AllFlags does not include the RestrictedMemberAccess flag. Para obtener una máscara que incluye todas las marcas en 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 ReflectionEmit ya no es necesario emitir código, a menos que se emiten los 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 una versión 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, la marca de TypeInformation ya no es necesario para reflejar los tipos y miembros; 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: