非CLS準拠の参照を含むアセンブリは、CLS準拠ですか?
-
12-11-2019 - |
質問
私は私自身のプロジェクトからの参照を参照するCLS準拠ではない既存のDLLを持っています。アセンブリをCLS準拠としてマークするときは、参照アセンブリ内の名前がCLS準拠ではないコンパイラの警告を取得します。
私のアセンブリに準拠していて参照されていないものをマークする方法はありますか?
解決
はい、あなたのDLLは参照されているアセンブリから非CLS準拠のメンバーを公開しない限り、CLS準拠になることができます。メンバーまたはタイプ。(プライベートメンバーや内部メンバーやタイプに使用できます。)
準拠していないDLLから直接タイプを公開する必要がある場合は、それらのタイプを独自のラッパーにカプセル化することができます(例:メソッドがMyWrapperAroundNaughtyType
の代わりにNaughtyType
を返す可能性があります)、または関連するものをマークすることができます。あなたのAPI CLSCompliant(false)
のメンバーは、コンパイラチェックからそれらのメンバーだけを選択します。
所属していません StackOverflow