Udostępnij za pośrednictwem


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 {}

Zobacz też

Informacje

CLSCompliantAttribute

Koncepcje

Niezależność od języka i elementy niezależne od języka