ReflectionPermission Classe

Definição

Controla o acesso a membros e tipos não públicos por meio das APIs System.Reflection.Controls access to non-public types and members through the System.Reflection APIs. Controla alguns recursos das APIs System.Reflection.Emit.Controls some features of the System.Reflection.Emit APIs.

public ref class ReflectionPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public sealed class ReflectionPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
type ReflectionPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class ReflectionPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
Herança
ReflectionPermission
Atributos
Implementações

Comentários

Sem ReflectionPermission, o código pode usar a reflexão para acessar apenas os membros públicos de objetos.Without ReflectionPermission, code can use reflection to access only the public members of objects. O código ReflectionPermission com e os ReflectionPermissionFlag sinalizadores apropriados podem acessar protected os private Membros e dos objetos.Code with ReflectionPermission and the appropriate ReflectionPermissionFlag flags can access the protected and private members of objects.

Cuidado

Como ReflectionPermission o pode fornecer acesso a tipos e membros não públicos, recomendamos que você não conceda ReflectionPermission ao código da Internet, exceto com ReflectionPermissionFlag.RestrictedMemberAccess o sinalizador.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. RestrictedMemberAccesspermite o acesso a membros não públicos, com a restrição de que o conjunto de concessão dos membros não públicos deve ser igual a ou um subconjunto de, o conjunto de concessão do código que acessa os membros não 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.

Determinados recursos de emissão de reflexo, como emissão de símbolos de depuração, ReflectionPermission exigem com ReflectionPermissionFlag.ReflectionEmit o sinalizador.Certain features of reflection emit, such as emitting debug symbols, require ReflectionPermission with the ReflectionPermissionFlag.ReflectionEmit flag.

Para obter mais informações, consulte a enumeração ReflectionPermissionFlag.For more information, see the ReflectionPermissionFlag enumeration.

Construtores

ReflectionPermission(PermissionState)

Inicializa uma nova instância da classe ReflectionPermission com permissão irrestrita ou totalmente restrita, conforme especificado.Initializes a new instance of the ReflectionPermission class with either fully restricted or unrestricted permission as specified.

ReflectionPermission(ReflectionPermissionFlag)

Inicializa uma nova instância da classe ReflectionPermission com o acesso especificado.Initializes a new instance of the ReflectionPermission class with the specified access.

Propriedades

Flags

Obtém ou define o tipo de reflexão permitido para a permissão atual.Gets or sets the type of reflection allowed for the current permission.

Métodos

Assert()

Declara que o código de chamada pode acessar o recurso protegido por uma demanda de permissão através do código que chama este método, mesmo que os chamadores na pilha não tenham recebido permissão para acessar o 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. Usar Assert() pode criar problemas de segurança.Using Assert() can create security issues.

(Herdado de CodeAccessPermission)
Copy()

Cria e retorna uma cópia idêntica da permissão atual.Creates and returns an identical copy of the current permission.

Demand()

Força um SecurityException no tempo de execução se todos os chamadores no topo da pilha de chamadas não receberam as permissões especificadas pela instância atual.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.

(Herdado de CodeAccessPermission)
Deny()

Impede que os chamadores no nível superior da pilha de chamadas usem o código que chama esse método para acessar o recurso especificado pela instância atual.Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

(Herdado de CodeAccessPermission)
Equals(Object)

Determina se o objeto CodeAccessPermission especificado é igual ao CodeAccessPermission atual.Determines whether the specified CodeAccessPermission object is equal to the current CodeAccessPermission.

(Herdado de CodeAccessPermission)
FromXml(SecurityElement)

Reconstrói um a permissão com um estado especificado de uma codificação XML.Reconstructs a permission with a specified state from an XML encoding.

GetHashCode()

Obtém um código hash para o objeto CodeAccessPermission atual, adequado para algoritmos de hash e estruturas de dados, tais como uma tabela de 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.

(Herdado de CodeAccessPermission)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
Intersect(IPermission)

Cria e retorna uma permissão que é a interseção de permissão atual e da permissão especificada.Creates and returns a permission that is the intersection of the current permission and the specified permission.

IsSubsetOf(IPermission)

Determina se a permissão atual é um subconjunto da permissão especificada.Determines whether the current permission is a subset of the specified permission.

IsUnrestricted()

Retorna um valor que indica se a permissão atual é irrestrita.Returns a value indicating whether the current permission is unrestricted.

MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
PermitOnly()

Impede que os chamadores no topo da pilha de chamadas usem o código que chama esse método para acessar todos os recursos, com exceção do recurso especificado pela instância atual.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.

(Herdado de CodeAccessPermission)
ToString()

Cria e retorna uma representação de cadeia de caracteres do objeto de permissão atual.Creates and returns a string representation of the current permission object.

(Herdado de CodeAccessPermission)
ToXml()

Cria uma codificação XML da permissão e de seu estado atual.Creates an XML encoding of the permission and its current state.

Union(IPermission)

Cria uma permissão que é a união entre a permissão atual e a permissão especificada.Creates a permission that is the union of the current permission and the specified permission.

Implantações explícitas de interface

IPermission.Demand() (Herdado de CodeAccessPermission)
IStackWalk.Assert() (Herdado de CodeAccessPermission)
IStackWalk.Demand() (Herdado de CodeAccessPermission)
IStackWalk.Deny() (Herdado de CodeAccessPermission)
IStackWalk.PermitOnly() (Herdado de CodeAccessPermission)

Aplica-se a

Veja também