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
, если он является прозрачным.
Комментарии
IsSecuritySafeCriticalСвойства IsSecurityCriticalи IsSecurityTransparent свойства сообщают о уровне прозрачности метода или конструктора на текущем уровне доверия, определяемом средой CLR. Сочетания этих свойств показаны в следующей таблице:
Уровень безопасности | IsSecurityCritical | IsSecuritySafeCritical | IsSecurityTransparent |
---|---|---|---|
Critical | true |
false |
false |
Сейф критические | true |
true |
false |
Прозрачный | false |
false |
true |
Использование этих свойств гораздо проще, чем изучение заметок безопасности сборки и ее типов и членов, проверки текущего уровня доверия и попытки дублировать правила среды выполнения.
Важно!
Для сборок с частичным доверием значение этого свойства зависит от текущего уровня доверия сборки. Если сборка загружается в домен приложения с частичным доверием (например, в домен изолированного приложения), среда выполнения игнорирует заметки безопасности сборки. Сборка и все его типы считаются прозрачными. Среда выполнения обращает внимание на заметки безопасности сборки с частичным доверием, только если эта сборка загружается в полностью доверенный домен приложения (например, в домен приложения по умолчанию классического приложения). Напротив, надежная сборка (т. е. сборка со строгим именем, установленная в глобальном кэше сборок), всегда загружается с полным доверием независимо от уровня доверия домена приложения, поэтому его текущий уровень доверия всегда является полностью доверенным. Текущие уровни доверия сборок и доменов приложений можно определить с помощью Assembly.IsFullyTrusted свойств и AppDomain.IsFullyTrusted свойств.
Дополнительные сведения о отражении и прозрачности см. в разделе "Вопросы безопасности" для отражения. Сведения о прозрачности см. в разделе "Изменения безопасности".