ReflectionPermissionFlag Enumeração

Definição

Cuidado

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

Especifica o uso permitido dos namespaces System.Reflection e System.Reflection.Emit.

Essa enumeração dá suporte a uma combinação bit a bit dos valores de membro.

public enum class 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]
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}")>]
type ReflectionPermissionFlag = 
[<System.Flags>]
[<System.Serializable>]
type ReflectionPermissionFlag = 
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type ReflectionPermissionFlag = 
[<System.Flags>]
type ReflectionPermissionFlag = 
Public Enum ReflectionPermissionFlag
Herança
ReflectionPermissionFlag
Atributos

Campos

Nome Valor Description
NoFlags 0

A enumeração de tipos e membros é permitida. As operações de invocação são permitidas em tipos e membros visíveis.

TypeInformation 1

Este sinalizador é obsoleto. Nenhum sinalizador é necessário para enumerar tipos e membros e examinar seus metadados. Use NoFlags em seu lugar.

MemberAccess 2

As operações de invocação em todos os membros são permitidas, independentemente do conjunto de concessões. Se esse sinalizador não estiver definido, as operações de invocação serão permitidas somente em membros visíveis.

ReflectionEmit 4

A emissão de símbolos de depuração é permitida. A partir do .NET Framework 2.0 Service Pack 1, esse sinalizador não é mais necessário para emitir código.

AllFlags 7

TypeInformation , MemberAccesse ReflectionEmit são definidos. AllFlags não inclui RestrictedMemberAccess.

RestrictedMemberAccess 8

O acesso restrito a membros é fornecido para código parcialmente confiável. O código parcialmente confiável pode acessar tipos e membros não públicos, mas somente se o conjunto de concessões do código parcialmente confiável incluir todas as permissões no conjunto de concessões do assembly que contém os tipos não públicos e os membros que estão sendo acessados.

Comentários

Cuidado

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 honram as anotações CAS e geram erros se as APIs relacionadas ao CAS forem usadas. Os desenvolvedores devem buscar meios alternativos para realizar tarefas de segurança.

Essa enumeração é usada pelas classes e ReflectionPermission pelas ReflectionPermissionAttribute classes. Se não ReflectionPermission for concedido, a reflexão será permitida em todos os tipos e membros, mas as operações de invocação serão permitidas somente em tipos e membros visíveis. Para obter mais informações, consulte Considerações de segurança para reflexão.

Cuidado

Como ReflectionPermission pode fornecer acesso a membros de classe privada, recomendamos que você conceda ReflectionPermission ao código da Internet apenas com o RestrictedMemberAccess sinalizador e não com nenhum outro sinalizador.

Importante

AllFlags não inclui o RestrictedMemberAccess sinalizador. Para obter uma máscara que inclua todos os sinalizadores nesta enumeração, você deve usar a combinação de AllFlags com RestrictedMemberAccess.

Aplica-se a

Confira também