Skip to main content
.NET Framework Class Library
Type..::.IsSecurityTransparent Property

Gets a value that indicates whether the current type is transparent at the current trust level, and therefore cannot perform critical operations.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
Public Overridable ReadOnly Property IsSecurityTransparent As Boolean
public virtual bool IsSecurityTransparent { get; }
public:
virtual property bool IsSecurityTransparent {
	bool get ();
}
abstract IsSecurityTransparent : bool
override IsSecurityTransparent : bool

Property Value

Type: System..::.Boolean
true if the type is security-transparent at the current trust level; otherwise, false.
Remarks

If this property returns true, the IsSecurityCritical and IsSecuritySafeCritical properties return false.

The IsSecurityCritical, IsSecuritySafeCritical, and IsSecurityTransparent properties report the transparency level of the type at its current trust level, as determined by the common language runtime (CLR). Using these properties is much simpler than examining the security annotations of an assembly and its types, checking the current trust level, and attempting to duplicate the runtime's rules.

Important noteImportant

For partial-trust assemblies, the value of this property depends on the current trust level of the assembly. If the assembly is loaded into a partially trusted application domain (for example, into a sandboxed application domain), then the runtime ignores the security annotations of the assembly. The assembly and all its types are treated as transparent. The runtime pays attention to the security annotations of a partial-trust assembly only when that assembly is loaded into a fully trusted application domain (for example, into the default application domain of a desktop application). By contrast, a trusted assembly (that is, a strong-named assembly that is installed in the global assembly cache) is always loaded with full trust regardless of the trust level of the application domain, so its current trust level is always fully trusted. You can determine the current trust levels of assemblies and application domains by using the Assembly..::.IsFullyTrusted and AppDomain..::.IsFullyTrusted properties.

For more information about reflection and transparency, see Security Considerations for Reflection. For information about transparency, see Security Changes in the .NET Framework 4.

Version Information

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Microsoft is conducting an online survey to understand your opinion of the MSDN Web site. If you choose to participate, the online survey will be presented to you when you leave the MSDN Web site.

Would you like to participate?