CLS 準拠に関する多くのページを見つけました。
私は、CLS 準拠について次のことを理解しました。
「コードを書くなら、CLSに準拠して書くべきだ」と多くの人が書いています。しかし、私の知る限り、一般的なソフトウェアで CLS 準拠を使用する理由はありません。
私は正しいですか、それとも何か見逃しましたか?
CLS 準拠に関する多くのページを見つけました。
私は、CLS 準拠について次のことを理解しました。
「コードを書くなら、CLSに準拠して書くべきだ」と多くの人が書いています。しかし、私の知る限り、一般的なソフトウェアで CLS 準拠を使用する理由はありません。
私は正しいですか、それとも何か見逃しましたか?
ライブラリまたはフレームワークを作成する場合、そのライブラリを任意の CLR 言語から使用できるようにすることは理にかなっています。
ライブラリを配布する場合、CLS 準拠は特に重要です。具体的には、CLS 準拠の記述により、ライブラリがすべての CLS 準拠言語で使用できることが保証されます。
たとえば、Visual Basic では大文字と小文字が区別されませんが、C# では大文字と小文字が区別されます。CLS 準拠の要件の 1 つは、パブリック (および保護された) メンバー名が大文字と小文字だけで異なるべきではないということです。これにより、Visual Basic コード、またはに基づいて区別されないその他の .NET 言語でライブラリを安全に使用できるようになります。場合。
その答えは、.NET 言語間で最大限の互換性を確保することです。CLS は、C# アセンブリが F#、Iron Python、C++/CLI、VB.NET、Boo、およびその他すべての .NET 言語で動作することを可能にする共通言語です。その境界の外に出ると、アセンブリが正しく機能する可能性がありますが、必ずしもそうとは限りません。
コードを CLS に準拠させる特定の理由はないかもしれませんが、人々はそれを "ベスト プラクティス" と呼んでいます。これは、特定のシナリオで測定可能なほど優れているというよりは、良い習慣だから行うべきことです。
つまり、そうしない理由がない限り、コードを CLS に準拠させることをお勧めします。