MethodBase.IsSecuritySafeCritical Eigenschaft

Definition

Ruft einen Wert ab, der angibt, ob die aktuelle Methode oder der aktuelle Konstruktor auf der aktuellen Vertrauensebene sicherheitsrelevant ist, d. h., ob sie bzw. er wichtige Vorgänge ausführen darf und ob von transparentem Code darauf zugegriffen werden kann.

public:
 virtual property bool IsSecuritySafeCritical { bool get(); };
public virtual bool IsSecuritySafeCritical { get; }
member this.IsSecuritySafeCritical : bool
Public Overridable ReadOnly Property IsSecuritySafeCritical As Boolean

Eigenschaftswert

Boolean

true, wenn die aktuelle Methode oder der aktuelle Konstruktor auf der aktuellen Vertrauensebene sicherheitsrelevant und sicher zugänglich ist, false, wenn sie bzw. er sicherheitsrelevant oder sicherheitstransparent ist.

Hinweise

Die Eigenschaften , und melden die Transparenzebene der Methode oder des Konstruktors auf ihrer aktuellen Vertrauensebene, wie von der IsSecurityCritical IsSecuritySafeCritical Common Language Runtime IsSecurityTransparent (CLR) festgelegt. Die Kombinationen dieser Eigenschaften sind in der folgenden Tabelle dargestellt:

Sicherheitsstufe IsSecurityCritical IsSecuritySafeCritical IsSecurityTransparent
Kritisch true false false
Tresor kritisch true true false
Transparent false false true

Die Verwendung dieser Eigenschaften ist viel einfacher, als die Sicherheitsanmerkungen einer Assembly und deren Typen und Member zu untersuchen, die aktuelle Vertrauensebene zu überprüfen und zu versuchen, die Regeln der Laufzeit zu duplizieren.

Wichtig

Bei teilweise vertrauenswürdigen Assemblys hängt der Wert dieser Eigenschaft von der aktuellen Vertrauensebene der Assembly ab. Wenn die Assembly in eine teilweise vertrauenswürdige Anwendungsdomäne geladen wird (z. B. in eine Sandboxanwendungsdomäne), ignoriert die Runtime die Sicherheitsanmerkungen der Assembly. Die Assembly und alle ihre Typen werden als transparent behandelt. Die Laufzeit berücksichtigt die Sicherheitsanmerkungen einer teilweise vertrauenswürdigen Assembly nur, wenn diese Assembly in eine voll vertrauenswürdige Anwendungsdomäne geladen wird (z. B. in die Standardanwendungsdomäne einer Desktopanwendung). Im Gegensatz dazu wird eine vertrauenswürdige Assembly (d. h. eine Assembly mit starkem Namen, die im globalen Assemblycache installiert ist) immer mit voller Vertrauenswürdigkeit geladen, unabhängig von der Vertrauensebene der Anwendungsdomäne, sodass die aktuelle Vertrauensebene immer voll vertrauenswürdig ist. Sie können die aktuellen Vertrauensebenen von Assemblys und Anwendungsdomänen mithilfe der Eigenschaften Assembly.IsFullyTrusted und AppDomain.IsFullyTrusted bestimmen.

Weitere Informationen zu Reflektion und Transparenz finden Sie unter Sicherheitsüberlegungen für Reflektion. Informationen zur Transparenz finden Sie unter Sicherheitsänderungen.

Gilt für:

Siehe auch