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

Вид: 40372|Ответ: 0

[Источник] Спецификация публичного языка .NET (CLS)

[Скопировать ссылку]
Опубликовано 2021-1-11 11:43:49 | | | |
.NET — это отдельный язык. Это означает, что как разработчик вы можете разрабатывать на одном из множества языков для .NET (например, C#, C++/CLI, Eiffel, F#, IronPython, IronRuby, PowerBuilder, Visual Basic, Visual COBOL и Windows PowerShell). Получить доступ к типам и членам библиотек, разработанным для .NET, не зная языка, на котором они были написаны, и не следуя каким-либо конвенциям оригинального языка. Если вы разработчик компонентов, ваши компоненты доступны через любое .NET-приложение, независимо от языка.

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

Спецификация общего языка рассматривает каждое правило соответствия CLS, поскольку оно применимо к потребителям (разработчикам, программно получающим доступ к компонентам, совместимым с CLS), фреймворкам (разработчикам, использующим компиляторы языков для создания библиотек, совместимых с CLS), и экстензорам (разработчикам, создающим инструменты, такие как компиляторы языков или анализаторы кода, создающие компоненты, совместимые с CLS).
Программа не проверяет, соответствует ли код требованиям CLS по умолчанию при компиляции, но если ваша программа может быть публичной (codeshare, релиз Nuget и т.д.), рекомендуется использовать [ассемблер: CLSCompliant(true)]Укажите, что ваша библиотека соответствует требованиям CLS

Ресурсы:

Вход по гиперссылке виден.
Вход по гиперссылке виден.
Вход по гиперссылке виден.

Простыми словами:

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

Используйте CLS

В файле AssemblyInfo.cs добавьте следующий код:



Он будет применяться ко всей сборке.

Если вы не установите эту функцию, вы можете получить следующую ошибку при добавлении этой функции к объекту:

Поскольку сборки не обладают CLSCompliant функциями, «A.Test» не требует CLSCompliant

Тестовый код выглядит следующим образом, затем перекомпилируйте:

Тип «A.Test» не соответствует требованиям CLS



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

Если линия не соответствует спецификации CLS, но изменение повлияет на корректную работу программы, но вы не хотите, чтобы VS вас предупреждал, вы можете добавить следующие характеристики в поле или класс:



Таким образом, это предупреждение не будет выдано.

(Конец)





Предыдущий:Оптимизация запросов к фреймворку сносов WITH(NOLOCK)
Следующий:.NET/C# для получения текущего состояния приложения (CPU, поток, GC)
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com