2008-12-13 6 views
5

Предположим, что я пишу библиотеку на C#, и я не знаю, кто ее поглотит.Есть ли совместимые языки с .NET, которые не поддерживают типы unsigned?

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

Есть ли на самом деле языки?

+0

См. Этот вопрос. Может быть дубликат: http://stackoverflow.com/questions/6325/why-are-unsigned-ints-not-cls-compliant – 2008-12-13 08:47:35

ответ

5

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

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

5

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

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

1

Если сегодня нет, может быть один tommorow.

 Смежные вопросы

  • Нет связанных вопросов^_^