Почему я должен писать код, совместимый с CLS?

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

  •  11-09-2019
  •  | 
  •  

Вопрос

Я нашел много страниц о соответствии CLS.

Я понял, что соответствие CLS:

Многие люди пишут, что "если вы пишете код, вы должны написать его совместимым с CLS". Но, насколько я могу прочитать, нет причин использовать соответствие CLS в универсальном программном обеспечении.

Я прав, или я что-то пропустил?

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

Решение

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

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

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

Например, Visual Basic не чувствителен к регистру, в то время как C # чувствителен.Одним из требований соответствия CLS является то, что общедоступные (и защищенные) имена членов не должны отличаться только по регистру, что гарантирует безопасное использование ваших библиотек Visual Basic code или любым другим языком .NET, который не различается по регистру.

Ответ заключается в том, чтобы обеспечить максимальную совместимость между языками .NET.CLS - это lingua franca это позволяет сборкам C # работать с F #, Iron Python, C ++ / CLI, VB.NET , Boo и всеми другими языками .NET.Переступите эту границу, и ваша сборка может работать корректно, но не обязательно.

Там может и не быть специфический причина, по которой ваш код должен соответствовать CLS, но люди ссылаются на то, что это "лучшая практика" - то, что вы должны делать, потому что это хорошая привычка, а не то, что она значительно лучше для конкретного сценария.

Другими словами, это хорошая идея чтобы сделать ваш код совместимым с CLS, если у вас нет на то причин не Для.

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