2009-06-24 5 views
0

IEnumerable 이외의 객체를 ASP.NET MVC SelectList 헬퍼 메서드로 전달할 수 없다는 것을 알고 있습니다 (첫 번째 매개 변수는 IEnumerable이므로). 일반 목록 List<OurCustomType>이 있고 OurCustomType에는 드롭 다운의 값 등의 속성이 있습니다.일반 목록을 SelectLista로 전달

IEnumerable에 일반 객체를 전달할 수없는 경우에도 SelectList 도우미를 계속 사용하려면 여기에 다른 옵션이 있습니까?

답변

1

IEnumerable<T>IEnumerable이므로, List<T>은 이미 IEnumerable을 구현합니다. 괜찮을거야. 예를 들면 :

List<int> genericList = new List<int>(); 
IEnumerable<int> genericSequence = genericList; 
IEnumerable weakSequence = genericSequence; 
0

당신이 볼 프레임 워크 문서에 IEnumerable<T>의 정의를 살펴있는 경우는 제네릭이 아닌 IEnumerable을을 상속. 목록 <T>이 IEnumerable <T>을 상속하므로 IEnumerable로 문제없이 SelectList에 전달할 수 있습니다.

이것은 기존의 비 제너릭 코드와의 하위 호환 기능입니다. 비 일반 버전을 제공해야하므로 고유 한 IEnumerable을 구현할 때 다소 귀찮습니다. BCL 팀의 멋진 사람들에게 감사드립니다. D

관련 문제