ReflectionPermissionFlag ReflectionPermissionFlag ReflectionPermissionFlag ReflectionPermissionFlag Enum

Definicja

Określa dozwolone użycie System.Reflection i System.Reflection.Emit przestrzeni nazw.Specifies the permitted use of the System.Reflection and System.Reflection.Emit namespaces.

To wyliczenie ma atrybut FlagsAttribute zezwalający na bitową kombinację jego wartości składowych.

public enum class ReflectionPermissionFlag
[System.Flags]
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public enum ReflectionPermissionFlag
type ReflectionPermissionFlag = 
Public Enum ReflectionPermissionFlag
Dziedziczenie
ReflectionPermissionFlagReflectionPermissionFlagReflectionPermissionFlagReflectionPermissionFlag
Atrybuty

Pola

AllFlags AllFlags AllFlags AllFlags 7

TypeInformation , MemberAccess, i ReflectionEmit są ustawione.TypeInformation , MemberAccess, and ReflectionEmit are set. AllFlags nie obejmuje RestrictedMemberAccess.AllFlags does not include RestrictedMemberAccess.

MemberAccess MemberAccess MemberAccess MemberAccess 2

Wywołanie operacji na wszystkie elementy członkowskie są dozwolone, niezależnie od tego zestawu dotacji.Invocation operations on all members are allowed, regardless of grant set. Jeśli ta flaga nie jest ustawiona, operacje wywołania są dozwolone tylko na widocznych elementów członkowskich.If this flag is not set, invocation operations are allowed only on visible members.

NoFlags NoFlags NoFlags NoFlags 0

Wyliczanie typów i elementów członkowskich jest dozwolone.Enumeration of types and members is allowed. Wywołanie operacji są dozwolone w widoczne typy i elementy członkowskie.Invocation operations are allowed on visible types and members.

ReflectionEmit ReflectionEmit ReflectionEmit ReflectionEmit 4

Emitowanie symbole debugowania jest dozwolone.Emitting debug symbols is allowed. Począwszy od .NET Framework 2.0 z dodatkiem Service Pack 1.NET Framework 2.0 Service Pack 1, ta flaga nie jest już wymagany do emitowania kodu.Beginning with the .NET Framework 2.0 z dodatkiem Service Pack 1.NET Framework 2.0 Service Pack 1, this flag is no longer required to emit code.

RestrictedMemberAccess RestrictedMemberAccess RestrictedMemberAccess RestrictedMemberAccess 8

Ograniczonego dostępu elementu członkowskiego jest udostępniana dla częściowo zaufanego kodu.Restricted member access is provided for partially trusted code. Częściowo zaufany kod może uzyskać dostęp do typów niepublicznych, ale tylko wtedy, gdy zestaw Przydziel częściowo zaufanego kodu obejmuje wszystkie uprawnienia w przydzielonym zestawie zestawu, który zawiera niepublicznych typy i elementy członkowskie, którego uzyskiwany jest dostęp.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. Ta flaga jest nowego w programie .NET Framework 2.0 z dodatkiem SP1.NET Framework 2.0 SP1.This flag is new in the .NET Framework 2.0 z dodatkiem SP1.NET Framework 2.0 SP1.

TypeInformation TypeInformation TypeInformation TypeInformation 1

Ta flaga jest przestarzała.This flag is obsolete. Nie flagi są niezbędne, można wyliczyć typów i elementów członkowskich i sprawdzić ich metadanych.No flags are necessary to enumerate types and members and to examine their metadata. Zamiast nich należy używać słów kluczowych NoFlags.Use NoFlags instead.

Przykłady

Poniższy przykład pokazuje, jak używać RestrictedMemberAccess wyliczeniu, aby zainicjować nowe wystąpienie klasy RestrictedMemberAccess klasa, która reprezentuje prawo do wykonywania ograniczonego dostępu elementu członkowskiego.The following example shows how to use the RestrictedMemberAccess enumeration to initialize a new instance of the RestrictedMemberAccess class that represents the right to perform restricted member access. W tym przykładzie jest częścią większego przykładu, który jest udostępniany dla AllFlags klasy.This example is part of a larger example that is provided for the AllFlags class.

Na przykład, który pokazuje, jak użyć flagi RestrictedMemberAccess przy użyciu kodu internetowego, zobacz instruktażu: Emitowanie kodu w scenariuszach częściowej relacji zaufania.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)

Uwagi

To wyliczenie jest używane przez ReflectionPermission i ReflectionPermissionAttribute klasy.This enumeration is used by the ReflectionPermission and ReflectionPermissionAttribute classes. Jeśli nie ReflectionPermission otrzymuje odbicie jest dozwolona dla wszystkich typów i elementów członkowskich, ale operacje wywołania są dozwolone tylko w widoczne typy i elementy członkowskie.If no ReflectionPermission is granted, reflection is allowed on all types and members, but invocation operations are allowed only on visible types and members. Aby uzyskać więcej informacji, zobacz Security Considerations for Reflection.For more information, see Security Considerations for Reflection.

Przestroga

Ponieważ ReflectionPermission można zapewnić dostęp do prywatnych składowych, zaleca się przyznanie ReflectionPermission kodu internetowego tylko przy użyciu flagi RestrictedMemberAccess, a nie z innych flag.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.

Flaga RestrictedMemberAccess została wprowadzona w systemie .NET Framework 2.0 z dodatkiem SP1.NET Framework 2.0 SP1.The RestrictedMemberAccess flag is introduced in the .NET Framework 2.0 z dodatkiem SP1.NET Framework 2.0 SP1. Aby użyć tej flagi, powinien dotyczyć aplikacji Program .NET Framework 3,5.NET Framework 3.5 lub nowszej.To use this flag, your application should target the Program .NET Framework 3,5.NET Framework 3.5 or later.

Ważne

AllFlags nie ma flagi RestrictedMemberAccess.AllFlags does not include the RestrictedMemberAccess flag. Aby uzyskać maska, która dołącza wszystkie flagi w to wyliczenie, należy użyć kombinacji AllFlags z RestrictedMemberAccess.To get a mask that includes all flags in this enumeration, you must use the combination of AllFlags with RestrictedMemberAccess.

Począwszy od .NET Framework 2.0 z dodatkiem SP1.NET Framework 2.0 SP1, emitowanie kodu, flagi ReflectionEmit jest już wymagany, chyba że symbole debugowania są emitowane.Starting with the .NET Framework 2.0 z dodatkiem SP1.NET Framework 2.0 SP1, the ReflectionEmit flag is no longer required to emit code, unless debug symbols are emitted. Aby użyć tej funkcji, powinien dotyczyć aplikacji Program .NET Framework 3,5.NET Framework 3.5 lub nowszej.To use this feature, your application should target the Program .NET Framework 3,5.NET Framework 3.5 or later.

Począwszy od .NET Framework 2.0.NET Framework 2.0, Flaga TypeInformation nie jest już wymagany na zastanowienie się nad do typów niepublicznych; flagi ma zostać oznaczony jako przestarzały.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.

Dotyczy

Zobacz też