MethodBase.IsSecuritySafeCritical 屬性

定義

取得值,這個值表示目前方法或建構函式在目前信任層級上是否為安全性安全關鍵,也就是說,它是否可以執行重要作業並且可供透明程式碼存取。

public:
 virtual property bool IsSecuritySafeCritical { bool get(); };
public virtual bool IsSecuritySafeCritical { get; }
member this.IsSecuritySafeCritical : bool
Public Overridable ReadOnly Property IsSecuritySafeCritical 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 目前的信任層級。

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

適用於

另請參閱