英語は私の母国語ではないので、単語の正確な意味を知りたいCommon Type System (CTS)
です。それらは、共通の型のシステムとして、または .NET Framework に共通の型システムとして解釈できますか? それは、システムが共通であるか、タイプが共通であるかです.:)
4 に答える
それが 2 番目のオプションです。これは、.Net プラットフォーム (C#、VB、F# など) 上のすべての言語に「共通」の「型システム」(クラス、メソッド、属性などを定義する方法) です。もちろん、私の記憶が間違っているかもしれませんが、「CTS」という用語は、CLR*) がすべての構造を記述するメタデータを格納および使用する方法を明示的に指していると確信しています。
*) おそらく、CLR 用語も既に見たことがあるでしょう。共通言語ランタイムです。その「共通」性は、言語的に同じように構成されています。それは「共通言語」ランタイムではありませんが、共通「言語ランタイム」であり、すべてに共通の実行プラットフォームです。
ただし、実際には、あなたが提案した「2番目の方法」にもわずかな意味があります。最も基本的なコレクション (ArrayList、Collection、HashSet など) やインターフェイス (IEnumerable、IList など) など、実際には一般的な型がいくつかあります。ただし、それらは BCL (Base Class Library) と呼ばれます。
Andrew Troelsen は、著書 (Pro C# 2008 and the .NET 3.5 Platform) の見出しの下で次のように述べています。
.NET プラットフォームの構成要素 (CLR、CTS、および CLS) の紹介
.NET プラットフォームのもう 1 つのビルディング ブロックは、Common Type System (CTS) です。CTS 仕様は、ランタイムでサポートされているすべての可能なデータ型とプログラミング構造を完全に記述し、これらのエンティティが相互に対話する方法を指定し、それらがどのように表現されるかを詳しく説明します。 - .NET メタデータ形式で送信されます (メタデータの詳細については、この章で後述します。詳細については、第 16 章を参照してください)。特定の .NET 対応言語が、CTS によって定義されたすべての機能をサポートしていない可能性があることを理解してください。共通言語仕様 (CLS) は、すべての .NET プログラミング言語が合意できる共通の型とプログラミング構造のサブセットを定義する関連仕様です。したがって、CLS 準拠の機能のみを公開する .NET 型を作成すると、すべての .NET 対応言語がそれらを使用できるので安心できます。
次に、すべてを要約するこの美しい図が表示されます。
お役に立てば幸いです:)
後者。
言語間の統合、タイプ セーフ、高性能コード実行を可能にするフレームワークを確立します。
(私のものを強調)
Microsoft は、「共通」を「相互; 複数によって共有される」という意味で使用しています(ウィクショナリーの最初の形容詞定義)。つまり、複数の言語で共有される型システムです。
「共通」の「型システム」です。ウィキペディアが CTSを最もよく説明していると思います。
Common Type System (CTS) は、型の定義と型の特定の値がコンピューターのメモリでどのように表現されるかを指定する標準です。