Поделиться через


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, если оно является прозрачным.

Комментарии

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

Уровень безопасности IsSecurityCritical IsSecuritySafeCritical IsSecurityTransparent
Critical true false false
Безопасный критический true true false
Прозрачный false false true

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

Важно!

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

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

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

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