ReflectionPermissionFlag ReflectionPermissionFlag ReflectionPermissionFlag ReflectionPermissionFlag Enum

Definicja

Określa dozwolone użycie System.Reflection przestrzeni nazw i System.Reflection.Emit .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. AllFlagsnie zawiera RestrictedMemberAccess.AllFlags does not include RestrictedMemberAccess.

MemberAccess MemberAccess MemberAccess MemberAccess 2

Operacje wywołania na wszystkich składowych są dozwolone, niezależnie od ustawionego przydziału.Invocation operations on all members are allowed, regardless of grant set. Jeśli ta flaga nie jest ustawiona, operacje wywołania są dozwolone tylko dla 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. Operacje wywoływania są dozwolone dla widocznych typów i elementów członkowskich.Invocation operations are allowed on visible types and members.

ReflectionEmit ReflectionEmit ReflectionEmit ReflectionEmit 4

Emitowanie symboli debugowania jest dozwolone.Emitting debug symbols is allowed. Począwszy od, ta flaga nie jest już wymagana do emitowania kodu. .NET Framework 2.0 z dodatkiem Service Pack 1.NET Framework 2.0 Service Pack 1Beginning 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

Dostęp do ograniczonego elementu członkowskiego jest udostępniany dla częściowo zaufanego kodu.Restricted member access is provided for partially trusted code. Częściowo zaufany kod może uzyskać dostęp do niepublicznych typów i elementów członkowskich, ale tylko wtedy, gdy zestaw grantu częściowo zaufanego kodu zawiera wszystkie uprawnienia w zestawie Grant zestawu zawierającego typy niepubliczne i członków, do których uzyskuje się 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 nowa w .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. Żadne flagi nie są niezbędne do wyliczenia typów i elementów członkowskich oraz do badania swoich 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, ReflectionPermissionFlag jak za pomocą wyliczenia zainicjować nowe wystąpienie ReflectionPermission klasy, która reprezentuje prawo do przeprowadzenia ograniczonego dostępu do składowej.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. Ten przykład jest częścią większego przykładu dostarczonego dla ReflectionPermission klasy.This example is part of a larger example that is provided for the ReflectionPermission class.

Przykład, który pokazuje, jak używać flagi RestrictedMemberAccess z kodem internetowym, zobacz Przewodnik: Emitowanie kodu w scenariuszachczęś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 klasy i. ReflectionPermissionAttributeThis enumeration is used by the ReflectionPermission and ReflectionPermissionAttribute classes. Jeśli nie ReflectionPermission zostanie udzielony, odbicie jest dozwolone dla wszystkich typów i elementów członkowskich, ale operacje wywołania są dozwolone tylko dla widocznych typów i elementów członkowskich.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 Zagadnienia dotyczące zabezpieczeń dotyczące odbicia.For more information, see Security Considerations for Reflection.

Przestroga

Ze ReflectionPermission względu na to, że program może zapewnić dostęp do prywatnych składowych klas, zalecamy przyznanie RestrictedMemberAccess ReflectionPermission do kodu internetowego tylko z flagą, a nie z innymi flagami.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 została wprowadzona .NET Framework 2.0 z dodatkiem SP1.NET Framework 2.0 SP1w. RestrictedMemberAccessThe RestrictedMemberAccess flag is introduced in the .NET Framework 2.0 z dodatkiem SP1.NET Framework 2.0 SP1. Aby można było użyć tej flagi, aplikacja powinna być Program .NET Framework 3,5.NET Framework 3.5 ukierunkowana na lub później.To use this flag, your application should target the Program .NET Framework 3,5.NET Framework 3.5 or later.

Ważne

AllFlagsnie zawiera RestrictedMemberAccess flagi.AllFlags does not include the RestrictedMemberAccess flag. Aby uzyskać maskę, która zawiera wszystkie flagi w tym wyliczeniu, należy użyć kombinacji AllFlags with RestrictedMemberAccess.To get a mask that includes all flags in this enumeration, you must use the combination of AllFlags with RestrictedMemberAccess.

.NET Framework 2.0 z dodatkiem SP1.NET Framework 2.0 SP1Począwszy odReflectionEmit , flaga nie jest już wymagana do emitowania kodu, chyba że są emitowane symbole debugowania.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 można było korzystać z tej funkcji, aplikacja powinna Program .NET Framework 3,5.NET Framework 3.5 być ukierunkowana na lub później.To use this feature, your application should target the Program .NET Framework 3,5.NET Framework 3.5 or later.

.NET Framework 2.0.NET Framework 2.0Począwszy odTypeInformation , flaga nie jest już wymagana do odzwierciedlenia w typach niepublicznych i elementach członkowskich; flaga została oznaczona jako przestarzała.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ż