共用方式為


CA1710:識別項應該使用正確的後置字元

型別名稱

IdentifiersShouldHaveCorrectSuffix

CheckId

CA1710

分類

Microsoft.Naming

中斷變更

中斷

原因

識別項沒有正確的後置字元。

規則描述

依照慣例,擴充某些基底型別 (Base Type) 或實作某些介面的型別名稱,或從這些型別衍生的型別,都具有與基底型別或介面關聯的後置字元。

命名慣例會為針對 Common Language Runtime 的程式庫提供通用的外觀。如此可縮短新軟體程式庫的學習過程,並讓客戶深信程式庫是由學有專長的人員以不斷開發的 Managed 程式碼開發而成。

下表列出具有關聯之後置字元的基底型別和介面。

基底型別/介面

後置字元

Attribute

屬性

EventArgs

EventArgs

Exception

例外狀況

ICollection

Collection

IDictionary

Dictionary

IEnumerable

Collection

Queue

Collection 或 Queue

Stack

Collection 或 Stack

ICollection

Collection

IDictionary

Dictionary

DataSet

資料集

DataTable

Collection 或 DataTable

Stream

資料流

IPermission

使用權限

IMembershipCondition

條件

事件處理常式委派

EventHandler

實作 ICollection 的型別,以及資料結構的一般型別 (例如 Dictionary、Stack 或 Queue),都是可以針對型別的預期使用方式提供有意義資訊的名稱。

實作 ICollection 的型別為特定項目的集合,具有以 'Collection' 這個字結尾的名稱。例如,Queue 物件的集合會具有 'QueueCollection' 這個名稱。'Collection' 後置字元表示可以使用 foreach (在 Visual Basic 中為 For Each) 陳述式 (Statement) 列舉集合的成員。

實作 IDictionary 的型別會具有以 'Dictionary' 這個字結尾的名稱,即使此型別還會實作 IEnumerableICollection 也是如此。'Collection' 和 'Dictionary' 後置字元命名慣例可讓使用者辨別下列兩個列舉模式。

具有 'Collection' 後置字元的型別會遵循這個列舉模式。

    foreach(SomeType x in SomeCollection) { }

具有 'Dictionary' 後置字元的型別會遵循這個列舉模式。

    foreach(SomeType x in SomeDictionary.Values) { }

DataSet 物件是由 DataTable 物件的集合所組成,而後者是由 DataColumnDataRow 等物件的集合所組成。這些集合會透過基底 InternalDataCollectionBase 類別實作 ICollection

如何修正違規

重新命名型別,使它以正確的詞彙做為後置字元。

隱藏警告的時機

如果型別為可能會擴充或將含有各種不同項目之任意集合的通用資料結構,則您可以放心地隱藏使用 'Collection' 後置字元的警告。在此情況下,可提供有關資料結構之實作、效能或其他特性之有意義資訊的名稱可能是合用的 (例如,BinaryTree)。在型別代表特定型別之集合的情況下 (例如,StringCollection),請勿隱藏此規則的警告,因為後置字元會指出型別可以利用 foreach 陳述式加以列舉。

對於其他後置字元,請勿隱藏此規則的警告。透過後置字元,即能從型別名稱中得知預期的用法。

相關規則

CA1711:識別項名稱不應該使用不正確的後置字元

請參閱

其他資源

Attribute Usage Guidelines

事件和委派