Существуют ли совместимые с .NET языки, которые не поддерживают беззнаковые типы?

StackOverflow https://stackoverflow.com/questions/364986

Вопрос

Допустим, я пишу библиотеку на C# и не знаю, кто будет ее использовать.

Публичный интерфейс библиотеки имеет несколько беззнаковых типов — uint, ushort.Очевидно, эти типы не совместимы с CLS, и теоретически могут существовать языки, которые не смогут их использовать.

Существуют ли на самом деле такие языки?

Это было полезно?

Решение

Я считаю, что в исходной версии VB.NET беззнаковые типы можно было использовать, но их поддержка не была встроена в язык.Конечно, это было исправлено в более поздних версиях.

Кроме того, я подозреваю, что ныне несуществующий J# не поддерживает беззнаковые типы (учитывая, что в Java их нет).

Другие советы

Совместимость .NET и соответствие CLS — это две разные вещи.Можно сказать, что все, что каким-то образом работает с инфраструктурой .NET, совместимо с ней.Соответствие CLS является более строгим.Он предоставляет набор правил, которым должны следовать разработчики языков и дизайнеры библиотек, чтобы создать экосистему взаимно совместимых языков и библиотек.

Вся суть такой вещи, как CLS, состоит в том, чтобы позволить вам избежать необходимости исследовать каждый пример языка и выяснить, как их все поддерживать.Если вы хотите это сделать, вы можете это сделать, но альтернативой является соблюдение CLS и, следовательно, уверенность в том, что вы будете совместимы со всем остальным (из прошлого, настоящего или будущего), которое также соответствует CLS.

Если сегодня его нет, завтра он может появиться.

Visual Basic..?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top