FieldInfo.IsSecurityTransparent Свойство

Определение

Получает значение, которое указывает, является ли текущее поле прозрачным на данном уровне доверия.

public virtual bool IsSecurityTransparent { get; }

Значение свойства

Значение true, если текущее поле является прозрачным на текущем уровне доверия; в противном случае — значение false.

Комментарии

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

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

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

Важно!

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

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

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

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

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