Udostępnij za pośrednictwem


CA1710: Identyfikatory powinny mieć poprawny przyrostek

TypeName

IdentifiersShouldHaveCorrectSuffix

CheckId

CA1710

Kategoria

Microsoft.Naming

Zmiana kluczowa

Kluczowa

Przyczyna

Identyfikator nie ma poprawnego przyrostka.

Opis reguły

Według konwencji, nazwy typów, które rozszerzają niektóre typy podstawowe lub implementują niektóre interfejsy, lub typy pochodzące od tych typów, mają przyrostek, który jest skojarzony z typem podstawowym lub interfejsem.

Konwencje nazewnictwa przewidują wspólny wygląd dla bibliotek docelowych dla środowiska wykonawczego języka wspólnego.Zmniejsza krzywą zdobywania wiedzy, która jest wymagana dla nowych bibliotek oprogramowania i zwiększa ufność klientów w to, że biblioteka został opracowana przez osobę, która ma doświadczenie w rozwijaniu kodu zarządzanego.

Poniższa tablica wylicza typy podstawowe i interfejsy, które mają skojarzone przyrostki.

Typ podstawowy/interfejs

Przyrostek

Attribute

Atrybut

EventArgs

EventArgs

Exception

Wyjątek

ICollection

Kolekcja

IDictionary

Słownik

IEnumerable

Kolekcja

Queue

Kolekcja lub kolejka

Stack

Kolekcja lub stos

ICollection

Kolekcja

IDictionary

Słownik

DataSet

DataSet

DataTable

Kolekcja lub element DataTable

Stream

Strumień

IPermission

Uprawnienie

IMembershipCondition

Warunek

Obiekt delegowany obsługi zdarzeń.

EventHandler

Typy, które implementują ICollection i są typami uogólnionymi struktury danych, takimi jak słownik, stos lub kolejka, mogą mieć nazwy, które dostarczają istotnych informacji o zamierzonym sposobie użycia tego typu.

Typy, które implementują ICollection i są kolekcjami określonych elementów, mają nazwy zakończone słowem "Collection".Na przykład, kolekcja obiektów Queue miałaby nazwę "QueueCollection".Przyrostek "Collection" oznacza, że elementy członkowskie kolekcji mogą być wyliczone za pomocą instrukcji foreach (For Each w Visual Basic).

Typy, które implementują IDictionary mają nazwy zakończone słowem "Dictionary" nawet jeśli typ również implementuje IEnumerable lub ICollection.Konwencje nazewnictwa przyrostkowego "Collection" i "Dictionary" umożliwiają użytkownikom rozróżnienie dwóch następujących wzorców wyliczeniowych.

Typy z przyrostkiem "Collection" stosują następujący wzorzec wyliczeniowy.

    foreach(SomeType x in SomeCollection) { }

Typy z przyrostkiem "Dictionary" stosują następujący wzorzec wyliczeniowy.

    foreach(SomeType x in SomeDictionary.Values) { }

Obiekt DataSet składa się z kolekcji obiektów DataTable, które między innymi, składają się z kolekcji obiektów DataColumn i DataRow.Te kolekcje implementują ICollection poprzez klasę bazową InternalDataCollectionBase.

Jak naprawić naruszenia

Zmień nazwę typu na taką, która posiada poprawny termin jako przyrostek.

Kiedy pominąć ostrzeżenia

Można bezpiecznie pominąć ostrzeżenie i użyć przyrostka "Collection" jeśli typ jest uogólnioną strukturą danych, która może zostać rozszerzona lub będzie zawierać dowolny zestaw różnych elementów.W takim przypadku nazwa, która dostarcza pomocnych informacji na temat implementacji, wydajności lub innych cech struktury danych, może mieć sens (na przykład BinaryTree).W przypadkach, gdy typ reprezentuje kolekcję określonego typu (na przykład element StringCollection), nie pomijaj ostrzeżenia dla tej reguły, ponieważ przyrostek wskazuje, że typ może być wyliczany na pomocą instrukcji foreach.

Dla innych przyrostków, nie omijaj ostrzeżenia dla tej reguły.Przyrostek umożliwia ujawnienie zamierzonego sposobu użycia w nazwie typu.

Powiązane reguły

CA1711: Identyfikatory powinny mieć poprawny przyrostek

Zobacz też

Inne zasoby

Attribute Usage Guidelines

Zdarzenia i pełnomocnicy