MethodBase.IsSecurityTransparent MethodBase.IsSecurityTransparent MethodBase.IsSecurityTransparent MethodBase.IsSecurityTransparent Property


現在のメソッドまたはコンストラクターが、現在の信頼レベルで透過的であり、重要な操作を実行できないかどうかを示す値を取得します。Gets a value that indicates whether the current method or constructor is transparent at the current trust level, and therefore cannot perform critical operations.

 virtual property bool IsSecurityTransparent { bool get(); };
public virtual bool IsSecurityTransparent { get; }
member this.IsSecurityTransparent : bool
Public Overridable ReadOnly Property IsSecurityTransparent As Boolean


メソッドまたはコンストラクターが、現在の信頼レベルで透過的セキュリティである場合は true。それ以外の場合は falsetrue if the method or constructor is security-transparent at the current trust level; otherwise, false.


このプロパティを返す場合trueIsSecurityCriticalIsSecuritySafeCriticalプロパティの戻り値falseします。If this property returns true, the IsSecurityCritical and IsSecuritySafeCritical properties return false.

IsSecurityCriticalIsSecuritySafeCritical、およびIsSecurityTransparentプロパティは、メソッドまたは共通言語ランタイム (CLR) によって決定される、現在の信頼レベルのコンス トラクターの透明度を報告します。The IsSecurityCritical, IsSecuritySafeCritical, and IsSecurityTransparent properties report the transparency level of the method or constructor 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 and members, checking the current trust level, and attempting to duplicate the runtime's rules.


部分的に信頼されたアセンブリでは、このプロパティの値は、アセンブリの現在の信頼レベルによって異なります。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), 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. 使用して、アセンブリとアプリケーション ドメインの現在の信頼レベルを決定できます、Assembly.IsFullyTrustedAppDomain.IsFullyTrustedプロパティ。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.