Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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