ReflectionPermissionFlag Enumeration

Definition

Achtung

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

Gibt die erlaubte Verwendung des System.Reflection-Namespaces und des System.Reflection.Emit-Namespaces an.

Diese Enumeration unterstützt eine bitweise Kombination ihrer Memberwerte.

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. AllFlags enthält RestrictedMemberAccess nicht.

MemberAccess 2

Aufrufvorgänge sind für alle Member unabhängig vom Berechtigungssatz zulässig. Wenn dieses Flag nicht festgelegt ist, sind Aufrufvorgänge ausschließlich für sichtbare Member zulässig.

NoFlags 0

Die Enumeration von Typen und Membern ist zulässig. Aufrufvorgänge sind für sichtbare Typen und Member zulässig.

ReflectionEmit 4

Die Ausgabe von Debugsymbolen ist zulässig. Ab dem .NET Framework 2.0 Service Pack 1 ist dieses Flag nicht mehr erforderlich, um Code auszusendet.

RestrictedMemberAccess 8

Für teilweise vertrauenswürdigen Code wird eingeschränkter Memberzugriff bereitgestellt. 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. Dieses Kennzeichen ist neu in der .NET Framework 2.0 SP1.

TypeInformation 1

Dieses Flag ist veraltet. Zum Auflisten von Typen und Membern sowie Untersuchen ihrer Metadaten sind keine Flags erforderlich. Verwenden Sie stattdessen NoFlags.

Beispiele

Im folgenden Beispiel wird gezeigt, wie Sie mithilfe der ReflectionPermissionFlag Enumeration eine neue Instanz der Klasse initialisieren, die ReflectionPermission das Recht darstellt, eingeschränkten Memberzugriff auszuführen. Dieses Beispiel ist Teil eines größeren Beispiels, das für die ReflectionPermission Klasse bereitgestellt wird.

Ein Beispiel zum Verwenden des RestrictedMemberAccess-Flags mit Internetcode finden Sie unter Exemplarische Vorgehensweise: Emittieren von Code in Teilvertrauenswürdigen Szenarien.

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

Hinweise

Achtung

Die Codezugriffssicherheit (CODE Access Security, CAS) wurde in allen Versionen von .NET Framework und .NET veraltet. Aktuelle Versionen von .NET berücksichtigen keine CAS-Anmerkungen und erzeugen Fehler, wenn CAS-bezogene APIs verwendet werden. Entwickler sollten alternative Mittel zum Ausführen von Sicherheitsaufgaben suchen.

Diese Aufzählung wird von den ReflectionPermission Klassen ReflectionPermissionAttribute verwendet. Wenn keine ReflectionPermission Erteilt wird, ist die Spiegelung für alle Typen und Member zulässig, aber Aufrufvorgänge sind nur für sichtbare Typen und Member zulässig. Weitere Informationen finden Sie unter Sicherheitsüberlegungen für die Reflektion.

Achtung

Da ReflectionPermission der Zugriff auf private Kursmitglieder möglich ist, empfehlen wir, Internetcode nur mit der RestrictedMemberAccess Kennzeichnung und nicht mit anderen Flags zu gewährenReflectionPermission.

Das RestrictedMemberAccess Flag wird in der .NET Framework 2.0 SP1 eingeführt. Um dieses Kennzeichen zu verwenden, sollte Ihre Anwendung auf die .NET Framework 3.5 oder höher ausgerichtet sein.

Wichtig

AllFlags enthält das RestrictedMemberAccess Flag nicht. Um eine Maske abzurufen, die alle Flags in dieser Enumeration enthält, müssen Sie die Kombination mit AllFlags .RestrictedMemberAccess

Ab dem .NET Framework 2.0 SP1 ist das ReflectionEmit Flag nicht mehr erforderlich, um Code auszustrahlen, es sei denn, Debugsymbole werden ausgegeben. Um dieses Feature zu verwenden, sollte Ihre Anwendung auf die .NET Framework 3.5 oder höher ausgerichtet sein.

Ab dem .NET Framework 2.0 ist das TypeInformation Kennzeichen nicht mehr erforderlich, um nichtublice Typen und Member widerzuspiegeln; das Kennzeichen wurde veraltet markiert.

Gilt für

Siehe auch