FieldInfo.IsSecurityCritical 屬性

定義

取得值,這個值表示目前欄位在目前信任層級上是否為安全性關鍵或安全性安全關鍵。

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

屬性值

如果目前欄位在目前信任層級上為安全性關鍵或安全性安全關鍵,則為 true,如果是透明,則為 false

備註

IsSecurityCriticalIsSecuritySafeCriticalIsSecurityTransparent 屬性會報告欄位目前信任層級的透明度層級,如 Common Language Runtime (CLR) 所決定。 下表顯示這些屬性的組合:

安全性層級 IsSecurityCritical IsSecuritySafeCritical IsSecurityTransparent
重大 true false false
安全關鍵 true true false
透明 false false true

使用這些屬性比檢查元件及其類型和成員的安全性批注、檢查目前的信任層級,以及嘗試複製運行時間的規則更為簡單。

重要

對於部分信任元件,此屬性的值取決於元件目前的信任層級。 例如,如果元件載入部分信任的應用程式域 (到沙盒化應用程式域) ,則運行時間會忽略元件的安全性批注。 元件及其所有類型都會被視為透明。 運行時間只會注意部分信任元件的安全性批註,只有當該元件載入至完全信任的應用程式域時, (例如,載入傳統型應用程式的默認應用程式域) 。 相較之下,信任的元件 (也就是說,全域程式集緩存中安裝的強名稱元件) 一律會以完全信任的方式載入,而不論應用程式域的信任層級為何,其目前的信任層級一律會完全信任。 您可以使用和 AppDomain.IsFullyTrusted 屬性來判斷元件和應用程式域Assembly.IsFullyTrusted目前的信任層級。

如需反映和透明度的詳細資訊,請參閱 反映的安全性考慮。 如需透明度的相關信息,請參閱 安全性變更

適用於

另請參閱