제네릭 목록을 노출하지 마십시오.
업데이트: 2007년 11월
TypeName |
DoNotExposeGenericLists |
CheckId |
CA1002 |
범주 |
Microsoft.Design |
변경 수준 |
주요 변경 |
원인
형식에 System.Collections.Generic.List<T> 형식이거나, System.Collections.Generic.List<T> 형식을 반환하거나, 시그니처에 System.Collections.Generic.List<T> 매개 변수가 포함되어 있는, 외부에서 볼 수 있는 멤버가 포함되어 있습니다.
규칙 설명
System.Collections.Generic.List<T>은 상속이 아니라 성능을 위해 디자인된 제네릭 컬렉션이므로 가상 멤가 없습니다. 다음 제네릭 컬렉션은 상속을 위해 디자인되었으며 System.Collections.Generic.List<T> 대신 노출되어야 합니다.
위반 문제를 해결하는 방법
이 규칙 위반 문제를 해결하려면 System.Collections.Generic.List<T> 형식을 상속을 위해 디자인된 제네릭 컬렉션 중 하나로 변경합니다.
경고를 표시하지 않는 경우
이 경고를 발생시킨 어셈블리를 재사용 가능한 라이브러리로 사용할 계획이 없는 경우에만 이 규칙에서 경고를 표시하지 마십시오. 예를 들어, 제네릭 목록을 사용할 경우 성능상 이점이 생기는 성능 조정된 응용 프로그램에서는 이 경고를 표시하지 않아도 안전합니다.
관련 규칙
제네릭 형식에 매개 변수를 너무 많이 사용하지 마십시오.