Type.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 Значение , если это критически важный или прозрачный режим безопасности.

Комментарии

IsSecurityCriticalСвойства IsSecuritySafeCriticalи IsSecurityTransparent свойства сообщают о уровне прозрачности типа на текущем уровне доверия, как определено средой CLR. Сочетания этих свойств показаны в следующей таблице:

Уровень безопасности IsSecurityCritical IsSecuritySafeCritical IsSecurityTransparent
Критически важно true false false
Безопасно-критический true true false
Transparent false false true

Использование этих свойств гораздо проще, чем изучение заметок безопасности сборки и его типов, проверки текущего уровня доверия и попытки дублировать правила среды выполнения.

Important

Для сборок с частичным доверием значение этого свойства зависит от текущего уровня доверия сборки. Если сборка загружается в частично доверенный домен приложения (например, в изолированный домен приложения), среда выполнения игнорирует заметки о безопасности сборки. Сборка и все его типы рассматриваются как прозрачные. Среда выполнения обращает внимание на заметки безопасности сборки с частичным доверием, только если эта сборка загружается в полностью доверенный домен приложения (например, в домен приложения по умолчанию классического приложения). В отличие от этого, надежная сборка (т. е. сборка с строгим именем, установленная в глобальном кэше сборок), всегда загружается с полным доверием независимо от уровня доверия домена приложения, поэтому его текущий уровень доверия всегда полностью доверяется. Текущие уровни доверия сборок и доменов приложений можно определить с помощью Assembly.IsFullyTrusted и AppDomain.IsFullyTrusted свойства.

Дополнительные сведения о отражении и прозрачности см. в разделе "Вопросы безопасности" для отражения. Сведения о прозрачности см. в разделе "Изменения безопасности".

Применяется к

См. также раздел