ReflectionPermissionFlag Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- Attribute
Felder
AllFlags | 7 |
|
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.