FieldInfo.IsSecurityCritical 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 das aktuelle Feld auf der aktuellen Vertrauensebene sicherheitsrelevant oder sicherheitsrelevant und sicher zugänglich ist.
public:
virtual property bool IsSecurityCritical { bool get(); };
public virtual bool IsSecurityCritical { get; }
member this.IsSecurityCritical : bool
Public Overridable ReadOnly Property IsSecurityCritical As Boolean
Eigenschaftswert
true
, wenn das aktuelle Feld auf der aktuellen Vertrauensebene sicherheitsrelevant oder sicherheitsrelevant und sicher zugänglich ist, false
, wenn es sicherheitstransparent ist.
Hinweise
Die IsSecurityCriticalEigenschaften , IsSecuritySafeCritical, und IsSecurityTransparent melden die Transparenzebene des Felds auf der aktuellen Vertrauensebene, die von der Common Language Runtime (CLR) bestimmt wird. Die Kombinationen dieser Eigenschaften sind in der folgenden Tabelle dargestellt:
Sicherheitsstufe | IsSecurityCritical | IsSecuritySafeCritical | IsSecurityTransparent |
---|---|---|---|
Kritisch | true |
false |
false |
Sicherheitskritisch | true |
true |
false |
Transparent | false |
false |
true |
Die Verwendung dieser Eigenschaften ist viel einfacher, als die Sicherheitsanmerkungen einer Assembly und ihrer 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 Sandkastenanwendungsdomäne), ignoriert die Runtime die Sicherheitsanmerkungen der Assembly. Die Assembly und alle zugehörigen Typen werden als transparent behandelt. Die Laufzeit achtet nur auf die Sicherheitsanmerkungen einer teilweise vertrauenswürdigen Assembly, wenn diese Assembly in eine voll vertrauenswürdige Anwendungsdomäne (z. B. in die Standardanwendungsdomäne einer Desktopanwendung) geladen wird. 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 Vertrauensstufe der Anwendungsdomäne, 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 ermitteln.
Weitere Informationen zur Reflexion und Transparenz finden Sie unter Sicherheitsüberlegungen für reflektion. Informationen zur Transparenz finden Sie unter Sicherheitsänderungen.