2008-09-29 6 views
1

.NET Framework에서 일반적인 분산이 없기 때문에 System.Collection 인터페이스의 비 제너릭 버전을 처리하는 메서드를 사용하는 것이 더 정확합니까? 여러 유형을 처리하도록 설계 되었습니까?IEnumerable을 IEnumerable <> 이상으로 사용하는 경우

이상적으로 .NET 3.5로 옮겨지면 코드가 수정되어 이러한 메서드가 확장 메서드로 변경됩니다.

답변

0

"여러 유형"을 정의 하시겠습니까? 예 : 자동차와 개 모두를 포함하는 목록? 또는 자동차가 포함 된 목록과 개가 포함 된 목록? "특별한"일을하지 않는 한 올바른 일은 제네릭 버전이 아닌 비 제네릭 버전을 구현하는 것입니다. 내가 볼 수

0

Here is a decent article explaining it.

유일한 해결책은 기사의 조언을 따르뿐만 아니라 방법을 일반적인 방법을 확인하는 것입니다.

하지만 확장 방법이라는 것이 얼마나 잘 견딜지 잘 모르겠습니다.

1

아니요, 더 "올바른"일은 여러 유형을 처리하는 메소드 자체를 일반화시키는 것입니다.

+0

예. System.Linq.Enumerable.Select 예제를 참조하십시오. –

1

이 경우 (IEnumerable) IEnumerable (일반이 아닌)에서 파생되므로 제네릭 버전을 구현하는 것이 더 좋으므로 논점이되며 둘 다 사용할 수 있습니다.

관련 문제