ReflectionPermission Clase

Definición

Precaución

Code Access Security is not supported or honored by the runtime.

Controla el acceso a tipos no públicos y miembros a través de las API de System.Reflection.Controls access to non-public types and members through the System.Reflection APIs. Controla algunas características de las API de System.Reflection.Emit.Controls some features of the System.Reflection.Emit APIs.

public ref class ReflectionPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class ReflectionPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
Herencia
ReflectionPermission
Atributos
Implementaciones

Comentarios

Sin ReflectionPermission , el código puede usar la reflexión para tener acceso solo a los miembros públicos de los objetos.Without ReflectionPermission, code can use reflection to access only the public members of objects. El código con ReflectionPermission y las ReflectionPermissionFlag marcas adecuadas pueden tener acceso a los protected private miembros y de los objetos.Code with ReflectionPermission and the appropriate ReflectionPermissionFlag flags can access the protected and private members of objects.

Precaución

Dado ReflectionPermission que puede proporcionar acceso a tipos y miembros no públicos, se recomienda no conceder ReflectionPermission a código de Internet, excepto con la ReflectionPermissionFlag.RestrictedMemberAccess marca.Because ReflectionPermission can provide access to non-public types and members, we recommend that you do not grant ReflectionPermission to Internet code, except with the ReflectionPermissionFlag.RestrictedMemberAccess flag. RestrictedMemberAccess permite el acceso a miembros no públicos, con la restricción de que el conjunto de permisos concedidos de los miembros no públicos debe ser igual o un subconjunto del conjunto de permisos concedidos del código que tiene acceso a los miembros no públicos.RestrictedMemberAccess allows access to non-public members, with the restriction that the grant set of the non-public members must be equal to, or a subset of, the grant set of the code that accesses the non-public members.

Ciertas características de la emisión de la reflexión, como la emisión de símbolos de depuración, requieren ReflectionPermission con la ReflectionPermissionFlag.ReflectionEmit marca.Certain features of reflection emit, such as emitting debug symbols, require ReflectionPermission with the ReflectionPermissionFlag.ReflectionEmit flag.

Para obtener más información, vea la enumeración ReflectionPermissionFlag.For more information, see the ReflectionPermissionFlag enumeration.

Constructores

ReflectionPermission(PermissionState)

Inicializa una nueva instancia de la clase ReflectionPermission con permiso totalmente restringido o sin restricción tal como se especifica.Initializes a new instance of the ReflectionPermission class with either fully restricted or unrestricted permission as specified.

ReflectionPermission(ReflectionPermissionFlag)

Inicializa una nueva instancia de la clase ReflectionPermission con el acceso especificado.Initializes a new instance of the ReflectionPermission class with the specified access.

Propiedades

Flags

Obtiene o establece el tipo de reflexión permitido para el permiso actual.Gets or sets the type of reflection allowed for the current permission.

Métodos

Assert()

Declara que el código de llamada puede tener acceso al recurso protegido por una demanda de permiso a través del código que llama a este método, incluso si los autores de la llamada situados en una posición más alta de la pila no tienen permiso para tener acceso al recurso.Declares that the calling code can access the resource protected by a permission demand through the code that calls this method, even if callers higher in the stack have not been granted permission to access the resource. El uso de Assert() puede crear problemas de seguridad.Using Assert() can create security issues.

(Heredado de CodeAccessPermission)
Copy()

Crea y devuelve una copia idéntica del permiso actual.Creates and returns an identical copy of the current permission.

Demand()

Fuerza a un SecurityException en tiempo de ejecución si todos los autores de llamada situados en la parte superior de la pila de llamadas no disponen del permiso especificado por la instancia actual.Forces a SecurityException at run time if all callers higher in the call stack have not been granted the permission specified by the current instance.

(Heredado de CodeAccessPermission)
Deny()
Obsoleto.
Obsoleto.

Impide que los autores de la llamada situados en la posición más alta de la pila de llamadas usen el código que llama a este método para tener acceso al recurso especificado por la instancia actual.Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

(Heredado de CodeAccessPermission)
Equals(Object)

Determina si el objeto CodeAccessPermission especificado es igual al objeto CodeAccessPermission actual.Determines whether the specified CodeAccessPermission object is equal to the current CodeAccessPermission.

(Heredado de CodeAccessPermission)
FromXml(SecurityElement)

Reconstruye un permiso con un estado especificado a partir de una codificación XML.Reconstructs a permission with a specified state from an XML encoding.

GetHashCode()

Obtiene un código hash para el objeto CodeAccessPermission que es adecuado para su uso en algoritmos hash y estructuras de datos como una tabla hash.Gets a hash code for the CodeAccessPermission object that is suitable for use in hashing algorithms and data structures such as a hash table.

(Heredado de CodeAccessPermission)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
Intersect(IPermission)

Crea y devuelve un permiso que es la intersección del permiso actual y el permiso especificado.Creates and returns a permission that is the intersection of the current permission and the specified permission.

IsSubsetOf(IPermission)

Determina si el permiso actual es un subconjunto del permiso especificado.Determines whether the current permission is a subset of the specified permission.

IsUnrestricted()

Devuelve un valor que indica si el permiso actual no está restringido.Returns a value indicating whether the current permission is unrestricted.

MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
PermitOnly()

Impide que los llamadores situados más arriba en la pila de llamadas usen el código que llama a este método para tener acceso a todos los recursos excepto al recurso especificado por la instancia actual.Prevents callers higher in the call stack from using the code that calls this method to access all resources except for the resource specified by the current instance.

(Heredado de CodeAccessPermission)
ToString()

Crea y devuelve una representación de cadena del objeto de permiso actual.Creates and returns a string representation of the current permission object.

(Heredado de CodeAccessPermission)
ToXml()

Crea una codificación XML del permiso y su estado actual.Creates an XML encoding of the permission and its current state.

Union(IPermission)

Crea un permiso que es la unión del permiso actual y el permiso especificado.Creates a permission that is the union of the current permission and the specified permission.

Implementaciones de interfaz explícitas

IPermission.Demand()

Produce una SecurityException en tiempo de ejecución si no se cumple el requisito de seguridad.Throws a SecurityException at run time if the security requirement is not met.

(Heredado de CodeAccessPermission)
IStackWalk.Assert()

Afirma que el código de llamada puede tener acceso al recurso identificado por el objeto de permiso actual, incluso si los autores de la llamada situados en una posición más alta de la pila no tienen permiso para tener acceso al recurso.Asserts that the calling code can access the resource identified by the current permission object, even if callers higher in the stack have not been granted permission to access the resource.

(Heredado de CodeAccessPermission)
IStackWalk.Demand()

Determina en tiempo de ejecución si a todos los autores de llamada de la pila de llamadas se les ha concedido el permiso especificado por el objeto de permiso actual.Determines at run time whether all callers in the call stack have been granted the permission specified by the current permission object.

(Heredado de CodeAccessPermission)
IStackWalk.Deny()

Hace que cada Demand() del objeto actual que pase por el código de llamada produzca un error.Causes every Demand() for the current object that passes through the calling code to fail.

(Heredado de CodeAccessPermission)
IStackWalk.PermitOnly()

Hace que cada elemento Demand() para todos los objetos excepto el actual que pasan por el código de llamada genere un error, incluso si se ha concedido permiso de acceso al código situado más arriba en la pila de llamadas para otros recursos.Causes every Demand() for all objects except the current one that pass through the calling code to fail, even if code higher in the call stack has been granted permission to access other resources.

(Heredado de CodeAccessPermission)

Se aplica a

Consulte también