Type.IsSecurityTransparent 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取一个值,该值指示当前类型在当前信任级别上是否是透明的而无法执行关键操作。
public:
virtual property bool IsSecurityTransparent { bool get(); };
public virtual bool IsSecurityTransparent { get; }
member this.IsSecurityTransparent : bool
Public Overridable ReadOnly Property IsSecurityTransparent As Boolean
属性值
如果该类型在当前信任级别上是安全透明的,则为 true
;否则为 false
。
注解
如果此属性返回 true
,则 IsSecurityCritical 和 IsSecuritySafeCritical 属性返回 false
。
IsSecurityCritical、 IsSecuritySafeCritical 和 IsSecurityTransparent 属性在其当前信任级别报告类型的透明度级别,由公共语言运行时 (CLR) 确定。 使用这些属性比检查程序集及其类型的安全批注、检查当前的信任级别,以及尝试复制运行时的规则要简单得多。
重要
对于部分信任的程序集,此属性的值取决于程序集的当前信任级别。 如果程序集加载到部分受信任的应用程序域中 (例如,在沙盒应用程序域) 中,则运行时将忽略程序集的安全注释。 程序集及其所有类型都被视为透明。 仅当程序集加载到完全受信任的应用程序域中时,运行时才会注意到部分信任程序集的安全批注 (例如,在桌面应用程序) 的默认应用程序域中。 相反,受信任的程序集 (即,安装在全局程序集缓存中的强名称程序集) 始终以完全信任方式加载,而不考虑应用程序域的信任级别,因此,其当前信任级别始终是完全受信任。 您可以使用和属性来确定程序集和应用程序域的当前信任级别 Assembly.IsFullyTrusted AppDomain.IsFullyTrusted 。
有关反射和透明度的详细信息,请参阅 反射的安全注意事项。 有关透明度的信息,请参阅 安全更改。