ReflectionPermissionFlag Enumeration

Definition

Warnung: Veraltet

Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}

Gibt die erlaubte Verwendung des System.Reflection-Namespaces und des System.Reflection.Emit-Namespaces an.Specifies the permitted use of the System.Reflection and System.Reflection.Emit namespaces.

Diese Enumeration enthält ein FlagsAttribute-Attribut, das eine bitweise Kombination der Memberwerte zulässt.

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

Felder

AllFlags 7

TypeInformation, MemberAccess und ReflectionEmit sind festgelegt.TypeInformation , MemberAccess, and ReflectionEmit are set. AllFlags enthält RestrictedMemberAccess nicht.AllFlags does not include RestrictedMemberAccess.

MemberAccess 2

Aufrufvorgänge sind für alle Member unabhängig vom Berechtigungssatz zulässig.Invocation operations on all members are allowed, regardless of grant set. Wenn dieses Flag nicht festgelegt ist, sind Aufrufvorgänge ausschließlich für sichtbare Member zulässig.If this flag is not set, invocation operations are allowed only on visible members.

NoFlags 0

Die Enumeration von Typen und Membern ist zulässig.Enumeration of types and members is allowed. Aufrufvorgänge sind für sichtbare Typen und Member zulässig.Invocation operations are allowed on visible types and members.

ReflectionEmit 4

Die Ausgabe von Debugsymbolen ist zulässig.Emitting debug symbols is allowed. Ab .NET Framework 2.0 Service Pack 1.NET Framework 2.0 Service Pack 1 ist dieses Flag für die Codeausgabe nicht mehr erforderlich.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 8

Für teilweise vertrauenswürdigen Code wird eingeschränkter Memberzugriff bereitgestellt.Restricted member access is provided for partially trusted code. Teilweise vertrauenswürdiger Code kann auf nicht öffentliche Typen und Member zugreifen, jedoch nur, wenn der Berechtigungssatz des teilweise vertrauenswürdigen Codes alle Berechtigungen im Berechtigungssatz der Assembly mit den betreffenden nicht öffentlichen Typen und Membern enthält.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. Dieses Flag ist in .NET Framework 2.0 SP1.NET Framework 2.0 SP1 neu.This flag is new in the .NET Framework 2.0 SP1.NET Framework 2.0 SP1.

TypeInformation 1

Dieses Flag ist veraltet.This flag is obsolete. Zum Auflisten von Typen und Membern sowie Untersuchen ihrer Metadaten sind keine Flags erforderlich.No flags are necessary to enumerate types and members and to examine their metadata. Verwenden Sie stattdessen NoFlags.Use NoFlags instead.

Beispiele

Im folgenden Beispiel wird gezeigt, wie die- ReflectionPermissionFlag Enumeration verwendet wird, um eine neue Instanz der-Klasse zu initialisieren ReflectionPermission , die das Recht zum Ausführen des eingeschränkten Element Zugriffs darstellt.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. Dieses Beispiel ist Teil eines größeren Beispiels, das für die-Klasse bereitgestellt wird ReflectionPermission .This example is part of a larger example that is provided for the ReflectionPermission class.

Ein Beispiel für die Verwendung des restrictedmembership Access-Flags mit Internet Code finden Sie unter Exemplarische Vorgehensweise: Ausgeben von Code in Szenarien mit teilweiser VertrauensWürdigkeit.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)

Hinweise

Diese Enumeration wird von der ReflectionPermission -Klasse und der- ReflectionPermissionAttribute Klasse verwendet.This enumeration is used by the ReflectionPermission and ReflectionPermissionAttribute classes. Wenn kein ReflectionPermission erteilt wird, ist Reflektion für alle Typen und Member zulässig, aber Aufruf Vorgänge sind nur für sichtbare Typen und Member zulässig.If no ReflectionPermission is granted, reflection is allowed on all types and members, but invocation operations are allowed only on visible types and members. Weitere Informationen finden Sie unter Sicherheitsüberlegungen für die Reflektion.For more information, see Security Considerations for Reflection.

Achtung

Da ReflectionPermission Zugriff auf private Klassenmember bereitstellen kann, wird empfohlen, dass Sie ReflectionPermission Internet Code nur mit dem RestrictedMemberAccess -Flag und nicht mit anderen Flags gewähren.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.

Das RestrictedMemberAccess-Flag wurde in .NET Framework 2.0 SP1.NET Framework 2.0 SP1 eingeführt.The RestrictedMemberAccess flag is introduced in the .NET Framework 2.0 SP1.NET Framework 2.0 SP1. Um dieses Flag zu verwenden, sollte die Anwendung auf oder höher ausgerichtet sein .NET Framework 3.5.NET Framework 3.5 .To use this flag, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Wichtig

AllFlags schließt das-Flag nicht ein RestrictedMemberAccess .AllFlags does not include the RestrictedMemberAccess flag. Zum erhalten einer Maske, die alle Flags in dieser Enumeration enthält, müssen Sie die Kombination von AllFlags mit verwenden RestrictedMemberAccess .To get a mask that includes all flags in this enumeration, you must use the combination of AllFlags with RestrictedMemberAccess.

Beginnend mit .NET Framework 2.0 SP1.NET Framework 2.0 SP1 ReflectionEmit ist das Flag nicht mehr erforderlich, um Code auszugeben, es sei denn, es werden Debugsymbole ausgegeben.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. Um dieses Feature verwenden zu können, sollte Ihre Anwendung auf oder höher ausgerichtet sein .NET Framework 3.5.NET Framework 3.5 .To use this feature, your application should target the .NET Framework 3.5.NET Framework 3.5 or later.

Beginnend mit .NET Framework 2.0.NET Framework 2.0 TypeInformation ist das Flag nicht mehr erforderlich, um nicht öffentliche Typen und Member widerzuspiegeln. das Flag wurde als veraltet markiert.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.

Gilt für:

Weitere Informationen