ReflectionPermissionFlag ReflectionPermissionFlag ReflectionPermissionFlag ReflectionPermissionFlag Enum

Definição

Especifica o uso permitido dos namespaces System.Reflection e System.Reflection.Emit.Specifies the permitted use of the System.Reflection and System.Reflection.Emit namespaces.

Esta enumeração tem um atributo FlagsAttribute que permite uma combinação bit a bit dos seus valores membros.

public enum class ReflectionPermissionFlag
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum ReflectionPermissionFlag
type ReflectionPermissionFlag = 
Public Enum ReflectionPermissionFlag
Herança
ReflectionPermissionFlagReflectionPermissionFlagReflectionPermissionFlagReflectionPermissionFlag
Atributos

Campos

AllFlags AllFlags AllFlags AllFlags 7

TypeInformation, MemberAccess e ReflectionEmit estão definidos.TypeInformation , MemberAccess, and ReflectionEmit are set. AllFlags não inclui RestrictedMemberAccess.AllFlags does not include RestrictedMemberAccess.

MemberAccess MemberAccess MemberAccess MemberAccess 2

As operações de invocação em todos os membros são permitidas, independentemente do conjunto de concessões.Invocation operations on all members are allowed, regardless of grant set. Se este sinalizador não for definido, as operações de invocação serão permitidas apenas em membros visíveis.If this flag is not set, invocation operations are allowed only on visible members.

NoFlags NoFlags NoFlags NoFlags 0

A enumeração de tipos e membros é permitida.Enumeration of types and members is allowed. As operações de invocação são permitidas em membros e tipos visíveis.Invocation operations are allowed on visible types and members.

ReflectionEmit ReflectionEmit ReflectionEmit ReflectionEmit 4

A emissão de símbolos de depuração é permitida.Emitting debug symbols is allowed. A partir do .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, esse sinalizador não é mais necessário para emitir o código.Beginning with the .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1, this flag is no longer required to emit code.

RestrictedMemberAccess RestrictedMemberAccess RestrictedMemberAccess RestrictedMemberAccess 8

O acesso de membro restrito é fornecido para o código parcialmente confiável.Restricted member access is provided for partially trusted code. O código parcialmente confiável pode acessar membros e tipos 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 membros e tipos não públicos sendo acessados.Partially trusted code can access nonpublic types and members, but only if the grant set of the partially trusted code includes all permissions in the grant set of the assembly that contains the nonpublic types and members being accessed. Esse sinalizador é novo no .NET Framework 2.0 SP1.NET Framework 2.0 SP1.This flag is new in the .NET Framework 2.0 SP1.NET Framework 2.0 SP1.

TypeInformation TypeInformation TypeInformation TypeInformation 1

Esse sinalizador é obsoleto.This flag is obsolete. Não é necessário nenhum sinalizador para enumerar os tipos e membros e examinar seus metadados.No flags are necessary to enumerate types and members and to examine their metadata. Use NoFlags em seu lugar.Use NoFlags instead.

Exemplos

O exemplo a seguir mostra como usar a ReflectionPermissionFlag enumeração para inicializar uma nova instância ReflectionPermission da classe que representa o direito de executar acesso de membro restrito.The following example shows how to use the ReflectionPermissionFlag enumeration to initialize a new instance of the ReflectionPermission class that represents the right to perform restricted member access. Este exemplo faz parte de um exemplo maior que é fornecido para a ReflectionPermission classe.This example is part of a larger example that is provided for the ReflectionPermission class.

Para obter um exemplo que mostra como usar o sinalizador RestrictedMemberAccess com o código da Internet , consulte Passo a passos: Emitindo código em cenáriosde confiança parcial.For an example that shows how to use the RestrictedMemberAccess flag with Internet code, see Walkthrough: Emitting Code in Partial Trust Scenarios.

ReflectionPermission restrictedMemberAccessPerm = new ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess);
Dim restrictedMemberAccessPerm As New ReflectionPermission(ReflectionPermissionFlag.RestrictedMemberAccess)

Comentários

Essa enumeração é usada pelas ReflectionPermission classes e. ReflectionPermissionAttributeThis enumeration is used by the ReflectionPermission and 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.If no ReflectionPermission is granted, reflection is allowed on all types and members, but invocation operations are allowed only on visible types and members. Para obter mais informações, consulte Security Considerations for Reflection (Considerações sobre segurança relacionadas à reflexão).For more information, see Security Considerations for Reflection.

Cuidado

Como ReflectionPermission o pode fornecer acesso a membros de classe privada, recomendamos que ReflectionPermission você conceda ao código da RestrictedMemberAccess Internet somente com o sinalizador, e não com nenhum outro sinalizador.Because ReflectionPermission can provide access to private class members, we recommend that you grant ReflectionPermission to Internet code only with the RestrictedMemberAccess flag, and not with any other flags.

O sinalizador RestrictedMemberAccess foi introduzido no .NET Framework 2.0 SP1.NET Framework 2.0 SP1.The RestrictedMemberAccess flag is introduced in the .NET Framework 2.0 SP1.NET Framework 2.0 SP1. Para usar esse sinalizador, seu aplicativo deve ter como .NET Framework 3,5.NET Framework 3.5 destino o ou posterior.To use this flag, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

Importante

AllFlagsNão inclui o RestrictedMemberAccess sinalizador.AllFlags does not include the RestrictedMemberAccess flag. Para obter uma máscara que inclui todos os sinalizadores nessa enumeração, você deve usar a combinação de AllFlags com RestrictedMemberAccess.To get a mask that includes all flags in this enumeration, you must use the combination of AllFlags with RestrictedMemberAccess.

Começando com o .NET Framework 2.0 SP1.NET Framework 2.0 SP1, o ReflectionEmit sinalizador não é mais necessário para emitir o código, a menos que símbolos de depuração sejam emitidos.Starting with the .NET Framework 2.0 SP1.NET Framework 2.0 SP1, the ReflectionEmit flag is no longer required to emit code, unless debug symbols are emitted. Para usar esse recurso, seu aplicativo deve ter como .NET Framework 3,5.NET Framework 3.5 destino o ou posterior.To use this feature, your application should target the .NET Framework 3,5.NET Framework 3.5 or later.

A partir do .NET Framework 2.0.NET Framework 2.0, o TypeInformation sinalizador não é mais necessário para refletir em tipos e membros não públicos; o sinalizador foi marcado como obsoleto.Starting with the .NET Framework 2.0.NET Framework 2.0, the TypeInformation flag is no longer required to reflect on nonpublic types and members; the flag has been marked obsolete.

Aplica-se a

Veja também