다음을 통해 공유


제네릭 목록을 노출하지 마십시오.

업데이트: 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> 형식을 상속을 위해 디자인된 제네릭 컬렉션 중 하나로 변경합니다.

경고를 표시하지 않는 경우

이 경고를 발생시킨 어셈블리를 재사용 가능한 라이브러리로 사용할 계획이 없는 경우에만 이 규칙에서 경고를 표시하지 마십시오. 예를 들어, 제네릭 목록을 사용할 경우 성능상 이점이 생기는 성능 조정된 응용 프로그램에서는 이 경고를 표시하지 않아도 안전합니다.

관련 규칙

제네릭 형식에 매개 변수를 너무 많이 사용하지 마십시오.

컬렉션은 제네릭 인터페이스를 구현해야 합니다.

정적 멤버를 제네릭 형식으로 선언하지 마십시오.

멤버 시그니처에 제네릭 형식을 중첩하지 마십시오.

제네릭 메서드는 형식 매개 변수를 제공해야 합니다.

제네릭 이벤트 처리기 인스턴스를 사용하십시오.

적합한 제네릭을 사용하십시오.

참고 항목

참조

제네릭(C# 프로그래밍 가이드)