ReflectionPermissionFlag Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Precaución
Code Access Security is not supported or honored by the runtime.
Especifica el uso permitido de los espacios de nombres System.Reflection y System.Reflection.Emit.
Esta enumeración admite una combinación bit a bit de sus valores de miembro.
public enum class ReflectionPermissionFlag
[System.Flags]
public enum ReflectionPermissionFlag
[System.Flags]
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public enum ReflectionPermissionFlag
[System.Flags]
[System.Serializable]
public enum ReflectionPermissionFlag
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum ReflectionPermissionFlag
[<System.Flags>]
type ReflectionPermissionFlag =
[<System.Flags>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type ReflectionPermissionFlag =
[<System.Flags>]
[<System.Serializable>]
type ReflectionPermissionFlag =
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ReflectionPermissionFlag =
Public Enum ReflectionPermissionFlag
- Herencia
- Atributos
Campos
AllFlags | 7 | Se establece |
MemberAccess | 2 | Se permiten las operaciones de invocación en todos los miembros, sin tener en cuenta el conjunto de permisos concedidos. Si no se establece este marcador, sólo se permiten las operaciones de invocación en miembros visibles. |
NoFlags | 0 | Se permite la enumeración de tipos y miembros. Las operaciones de invocación se permiten en los tipos y miembros visibles. |
ReflectionEmit | 4 | Se permite emitir símbolos de depuración. A partir de .NET Framework 2.0 Service Pack 1, esta marca ya no es necesaria para emitir código. |
RestrictedMemberAccess | 8 | El acceso de miembro restringido se proporciona para el código de confianza parcial. 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. Esta marca es nueva en .NET Framework 2.0 SP1. |
TypeInformation | 1 | Este marcador está obsoleto. No es necesario ningún marcador para enumerar tipos y miembros y examinar sus metadatos. Utilice NoFlags en su lugar. |
Ejemplos
En el ejemplo siguiente se muestra cómo usar la ReflectionPermissionFlag
enumeración para inicializar una nueva instancia de la ReflectionPermission clase que representa el derecho a realizar el acceso restringido a miembros. Este ejemplo forma parte de un ejemplo más grande que se proporciona para la ReflectionPermission clase .
Para obtener un ejemplo que muestra cómo usar la marca RestrictedMemberAccess con código de Internet, vea Tutorial: Emisión de código en escenarios de confianza parcial.
ReflectionPermission restrictedMemberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess);
Dim restrictedMemberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess)
Comentarios
Precaución
La seguridad de acceso al código (CAS) ha quedado en desuso en todas las versiones de .NET Framework y .NET. Las versiones recientes de .NET no respetan las anotaciones cas y producen errores si se usan api relacionadas con CAS. Los desarrolladores deben buscar medios alternativos para realizar tareas de seguridad.
Esta enumeración la usan las ReflectionPermission clases y ReflectionPermissionAttribute . Si no se concede ninguna ReflectionPermission opción, se permite la reflexión en todos los tipos y miembros, pero solo se permiten operaciones de invocación en miembros y tipos visibles. Para obtener más información, vea el artículo sobre consideraciones de seguridad sobre la reflexión.
Precaución
Dado ReflectionPermission que puede proporcionar acceso a miembros de clase privada, se recomienda conceder ReflectionPermission al código de Internet solo con la RestrictedMemberAccess
marca y no con ninguna otra marca.
La RestrictedMemberAccess
marca se introduce en .NET Framework 2.0 SP1. Para usar esta marca, la aplicación debe tener como destino .NET Framework 3.5 o posterior.
Importante
AllFlags
no incluye la RestrictedMemberAccess
marca . Para obtener una máscara que incluya todas las marcas de esta enumeración, debe usar la combinación de AllFlags
con RestrictedMemberAccess
.
A partir de .NET Framework 2.0 SP1, la ReflectionEmit
marca ya no es necesaria para emitir código, a menos que se emitan símbolos de depuración. Para usar esta característica, la aplicación debe tener como destino .NET Framework 3.5 o posterior.
A partir de .NET Framework 2.0, la TypeInformation
marca ya no es necesaria para reflejar los tipos y miembros no públicos; la marca se ha marcado como obsoleta.