ReflectionPermission Classe

Definição

Controla o acesso a tipos e membros não públicos através das System.Reflection APIs. Controla algumas funcionalidades das System.Reflection.Emit APIs.

public ref class ReflectionPermission sealed : 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
[<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
Herança
ReflectionPermission
Atributos
Implementações

Observações

Atenção

O CAS (Code Access Security) foi preterido em todas as versões do .NET Framework e do .NET. As versões recentes do .NET não respeitam as anotações do CAS e produzem erros se as APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem procurar meios alternativos de realizar tarefas de segurança.

Sem ReflectionPermission, o código pode usar reflexão para aceder apenas aos membros públicos dos objetos. O código com ReflectionPermission e os flags apropriados ReflectionPermissionFlag pode aceder aos protected membros e private dos objetos.

Atenção

Como ReflectionPermission pode dar acesso a pessoas privadas e membros, recomendamos que não conceda ReflectionPermission código da Internet, exceto com a ReflectionPermissionFlag.RestrictedMemberAccess bandeira. RestrictedMemberAccess permite o acesso a membros não públicos, com a restrição de que o conjunto de subsídios dos membros não públicos deve ser igual ou um subconjunto do conjunto de subsídios do código que acede aos membros não públicos.

Certas características da emissão por reflexão, como a emissão de símbolos de depuração, são necessárias ReflectionPermission com a ReflectionPermissionFlag.ReflectionEmit bandeira.

Para obter mais informações, consulte a ReflectionPermissionFlag enumeração.

Construtores

Name Description
ReflectionPermission(PermissionState)

Inicializa uma nova instância da ReflectionPermission classe com permissão totalmente restrita ou irrestrita, conforme especificado.

ReflectionPermission(ReflectionPermissionFlag)

Inicializa uma nova instância da ReflectionPermission classe com o acesso especificado.

Propriedades

Name Description
Flags

Obtém ou define o tipo de reflexão permitido para a permissão atual.

Métodos

Name Description
Assert()

Declara que o código de chamada pode aceder ao recurso protegido por uma exigência de permissão através do código que chama este método, mesmo que os chamadores mais acima na pilha não tenham recebido permissão para aceder ao recurso. Usar Assert() pode criar problemas de segurança.

(Herdado de CodeAccessPermission)
Copy()

Cria e devolve uma cópia idêntica da permissão atual.

Demand()

Força a SecurityException em tempo de execução se todos os chamadores superiores na pilha de chamadas não tiverem recebido a permissão especificada pela instância atual.

(Herdado de CodeAccessPermission)
Deny()
Obsoleto.

Impede que os chamadores mais acima na pilha de chamadas usem o código que chama este método para aceder ao recurso especificado pela instância atual.

(Herdado de CodeAccessPermission)
Equals(Object)

Determina se o objeto especificado CodeAccessPermission é igual à corrente CodeAccessPermission.

(Herdado de CodeAccessPermission)
FromXml(SecurityElement)

Reconstrói uma permissão com um estado especificado a partir de uma codificação XML.

GetHashCode()

Obtém um código hash para o CodeAccessPermission objeto adequado para uso em algoritmos de hash e estruturas de dados, como uma tabela hash.

(Herdado de CodeAccessPermission)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Intersect(IPermission)

Cria e devolve uma permissão que é a interseção entre a permissão atual e a permissão especificada.

IsSubsetOf(IPermission)

Determina se a permissão atual é um subconjunto da permissão especificada.

IsUnrestricted()

Devolve um valor que indica se a permissão atual é irrestrita.

MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
PermitOnly()

Impede que os chamadores mais acima na pilha de chamadas usem o código que chama este método para aceder a todos os recursos, exceto ao recurso especificado pela instância atual.

(Herdado de CodeAccessPermission)
ToString()

Cria e devolve uma representação em cadeia do objeto de permissão atual.

(Herdado de CodeAccessPermission)
ToXml()

Cria uma codificação XML da permissão e do seu estado atual.

Union(IPermission)

Cria uma permissão que é a união da permissão atual e da permissão especificada.

Aplica-se a

Ver também