Значение слова CTS

Поскольку английский не является моим родным языком, я хотел бы знать точную семантику слов Common Type System (CTS), Можно ли их интерпретировать как систему общих типов или как систему типов, общую для.NET Framework? То есть система является общей или типы являются общими.:)

4 ответа

Решение

Это второй вариант, это "система типов" (способ определения классов, методов, атрибутов и т. Д.), "Общий" для всех языков платформы.Net (C#, VB, F#, ...). Конечно, я могу ошибаться, но я вполне уверен, что термин "CTS" явно указывает на то, как CLR*) хранит и использует метаданные, которые описывают, как все структурировано.

*) вы, вероятно, также видели термин CLR. Это Common Lnguage Runtime. Его "общая" сущность лигистически построена таким же образом. Это не среда выполнения "общего языка", но это обычная среда исполнения языка, это платформа исполнения, общая для всех.

Однако - на самом деле - есть и небольшое значение в предложенном вами "втором способе". Есть некоторые типы, которые на самом деле являются общими, например, самые базовые коллекции (ArrayList, Collection, HashSet, ...) или интерфейсы (IEnumerable, IList, ...). Однако они называются BCL, библиотека базовых классов.

Эндрю Троелсен в своей книге (Pro C# 2008 и.NET 3.5 Platform) под заголовком говорит:

Представляем строительные блоки платформы.NET (CLR,CTS и CLS)

Другим строительным блоком платформы.NET является Common Type System, или CTS. Спецификация CTS полностью описывает все возможные типы данных и программные конструкции, поддерживаемые средой выполнения, определяет, как эти объекты могут взаимодействовать друг с другом, и детализирует, как они представлены. - отправлено в формате метаданных.NET (более подробная информация о метаданных приведена далее в этой главе; подробности см. в главе 16). Следует понимать, что данный язык, поддерживающий.NET, может не поддерживать все функции, определенные CTS. Спецификация общего языка (CLS) - это связанная спецификация, которая определяет подмножество общих типов и конструкций программирования, с которыми могут согласиться все языки программирования.NET. Таким образом, если вы создаете типы.NET, которые предоставляют только CLS-совместимые функции, вы можете быть уверены, что все языки, поддерживающие.NET, могут их использовать. И наоборот, если вы используете тип данных или программную конструкцию, находящуюся за пределами CLS, вы не можете гарантировать, что каждый язык программирования.NET сможет взаимодействовать с вашей библиотекой кода.NET

затем приходит эта красивая фигура, которая подводит итоги:

Компоненты.NET

Надеюсь что поможет:)

Последний.

Из статьи MSDN о CTS:

Создает платформу, которая помогает обеспечить межязыковую интеграцию, безопасность типов и высокопроизводительное выполнение кода.

(акцент мой)

Microsoft использует "общий" для обозначения "взаимный", общий для более чем одного " (первое определение прилагательного из Викисловаря). То есть система типов, используемая несколькими языками.

Это "система типов", которая является "общей". Я думаю, что Википедия лучше всего объясняет CTS:

Общая система типов (CTS) - это стандарт, который определяет, как определения типов и конкретные значения типов представляются в памяти компьютера.

Другие вопросы по тегам