Type.IsSecuritySafeCritical Eigenschaft
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.
Ruft einen Wert ab, der angibt, ob der aktuelle Typ auf der aktuellen Vertrauensebene sicherheitsrelevant ist, d. h. ob er wichtige Vorgänge ausführen darf und ob von transparentem Code auf ihn 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
true
, wenn der aktuelle Typ auf der aktuellen Vertrauensebene sicherheitskritisch ist; false
, wenn es sicherheitskritisch oder transparent ist.
Hinweise
Die IsSecurityCriticalEigenschaften , IsSecuritySafeCriticalund IsSecurityTransparent melden die Transparenzebene des Typs auf seiner aktuellen Vertrauensebene, wie von der Common Language Runtime (CLR) bestimmt. Die Kombinationen dieser Eigenschaften sind in der folgenden Tabelle dargestellt:
Sicherheitsstufe | IsSecurityCritical | IsSecuritySafeCritical | IsSecurityTransparent |
---|---|---|---|
Kritisch | true |
false |
false |
Sicher kritisch | true |
true |
false |
Transparent | false |
false |
true |
Ein Verwenden dieser Eigenschaften ist deutlich einfacher als das Untersuchen der Sicherheitsanmerkungen einer Assembly und der zugehörigen Typen, das Überprüfen der aktuellen Vertrauensebene und das Versuchen, die Laufzeitregeln 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 (z. B. in eine Sandkastenanwendungsdomäne) geladen wird, ignoriert die Laufzeit die Sicherheitsanmerkungen der Assembly. Die Assembly und alle ihre Typen werden als transparent behandelt. Die Laufzeit achtet nur auf die Sicherheitsanmerkungen einer teilweise vertrauenswürdigen Assembly, wenn diese Assembly in eine vollständig 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) unabhängig von der Vertrauensstufe der Anwendungsdomäne immer mit voller Vertrauenswürdigkeit geladen, sodass ihre aktuelle Vertrauensebene immer voll vertrauenswürdig ist. Sie können die aktuellen Vertrauensebenen von Assemblys und Anwendungsdomänen mithilfe der Assembly.IsFullyTrusted Eigenschaften und AppDomain.IsFullyTrusted bestimmen.
Weitere Informationen zu Reflektion und Transparenz finden Sie unter Sicherheitsüberlegungen für die Reflektion. Informationen zur Transparenz finden Sie unter Sicherheitsänderungen.