CA1014: Oznacz zestawy za pomocą CLSCompliantAttribute
TypeName |
MarkAssembliesWithClsCompliant |
CheckId |
CA1014 |
Kategoria |
Microsoft.Design |
Zmiana kluczowa |
Niekluczowa |
Przyczyna
Zestaw nie posiada zastosowanego atrybutu CLSCompliantAttribute.
Opis reguły
The Common Language Specification (CLS) definiuje ograniczenia nazw, typów danych i reguł z którymi muszą być zgodne zestawy , jeśli zostaną użyte w językach programowania.Zasada dobrego projektowania nakazuje, aby wszystkie zestawy jawnie wskazywały zgodność ze specyfikacją CLS za pomocą CLSCompliantAttribute.Jeśli atrybut nie jest obecny w zestawie, oznacza to, że zestaw jest niezgodny.
Jest możliwe, żeby zestaw zgodny ze specyfikacją CLS zawierał typy lub elementy członkowskie typów, które nie są zgodne.
Jak naprawić naruszenia
Aby naprawić naruszenie tej reguły, dodaj atrybut do zestawu.Zamiast oznaczać cały zestaw jako niezgodny, określ typ lub elementy członkowskie typu, które nie są zgodne i odpowiednio je oznacz.Jeśli to możliwe, dostarcz alternatywne wersje niezgodnych elementów członkowskich, które będą zgodne ze specyfikacją CLS, aby jak najwięcej osób mogło uzyskać dostęp do pełnej funkcjonalności zestawu.
Kiedy pominąć ostrzeżenia
Nie pomijaj ostrzeżeń dla tej reguły.Jeśli nie chcesz, żeby zestaw był zgodny, zastosuj atrybut i ustaw jego wartość na false.
Przykład
Poniższy przykład pokazuje zestaw z zastosowanym atrybutem CLSCompliantAttribute, który deklaruje zgodność ze specyfikacją CLS.
Imports System
<assembly:CLSCompliant(true)>
Namespace DesignLibrary
End Namespace
using System;
[assembly:CLSCompliant(true)]
namespace DesignLibrary {}
using namespace System;
[assembly:CLSCompliant(true)];
namespace DesignLibrary {}