CA1002:不要公開泛型清單
型別名稱 |
DoNotExposeGenericLists |
CheckId |
CA1002 |
分類 |
Microsoft.Design |
中斷變更 |
中斷 |
原因
型別包含 System.Collections.Generic.List<T> 型別的外部可見成員、傳回 System.Collections.Generic.List<T> 型別,或其簽章 (Signature) 包含 System.Collections.Generic.List<T> 參數。
規則描述
System.Collections.Generic.List<T> 是針對效能而非繼承設計的泛型集合。 System.Collections.Generic.List<T> 不包含虛擬成員,讓它更容易變更繼承的類別的行為。 下列的泛型集合是專為繼承所設計,且應該加以公開 (Expose),以代替 System.Collections.Generic.List<T>。
如何修正違規
若要修正此規則的違規情形,請將 System.Collections.Generic.List<T> 型別變更成專為繼承設計的其中一個泛型集合。
隱藏警告的時機
除非不想將引發這則警告的組件 (Assembly) 當做可重複使用的程式庫,否則請勿隱藏此規則的警告。 例如,在已微調效能的應用程式中,因為使用了泛型清單而使得效能提升,所以您可以放心地隱藏這則警告。