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


MethodBase.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 .

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

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

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