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 |
|---|---|---|---|
| Критически важно | true |
false |
false |
| Безопасно-критический | true |
true |
false |
| Transparent | false |
false |
true |
Использование этих свойств гораздо проще, чем изучение заметок безопасности сборки и его типов и членов, проверки текущего уровня доверия и попытки дублировать правила среды выполнения.
Important
Для сборок с частичным доверием значение этого свойства зависит от текущего уровня доверия сборки. Если сборка загружается в частично доверенный домен приложения (например, в домен изолированного приложения), среда выполнения игнорирует заметки о безопасности сборки. Сборка и все его типы рассматриваются как прозрачные. Среда выполнения обращает внимание на заметки безопасности сборки с частичным доверием, только если эта сборка загружается в полностью доверенный домен приложения (например, в домен приложения по умолчанию классического приложения). В отличие от этого, надежная сборка (т. е. сборка с строгим именем, установленная в глобальном кэше сборок), всегда загружается с полным доверием независимо от уровня доверия домена приложения, поэтому его текущий уровень доверия всегда полностью доверяется. Текущие уровни доверия сборок и доменов приложений можно определить с помощью Assembly.IsFullyTrusted и AppDomain.IsFullyTrusted свойства.
Дополнительные сведения о отражении и прозрачности см. в разделе "Вопросы безопасности" для отражения. Сведения о прозрачности см. в разделе "Изменения безопасности".