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



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



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





  • Это способ гарантировать различную совместимость сборки.

  • это способ объявить код высокой безопасности


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



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

485   4  

4 ответов:

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

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

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

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

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

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

Comments

    Ничего не найдено.