2012-11-27 5 views
1

기본적으로 SQL 데이터 테이블을 성공적으로 수행 할 수있는 일반 목록으로 변환하고 있습니다. 하지만 목록 개체를 반환하는 방법을 알아낼 수 없습니다. 말의 오류가 있습니다 .- System.Collections.Generic.List를 System.Collections.Generic.List로 암시 적으로 변환 할 수 없습니다.암시 적으로 형식을 변환 할 수 없습니다. System.Collections.Generic.IList System.Collections.Generic.List

List를 형식 목록으로 반환하는 올바른 방법은 무엇입니까? 당신의 theList 개체에 대한

public List<MyObject> GetAllMyObjects() 
{ 
    String command = "select * from names "; 
    DataTable tableResult = DataTableToList.ExecuteDataTable(command, CommandType.Text, null,connectionString); 

    IList<MyObject> theList = DataTableToList.ConvertTo<MyObject>(tableResult); 

    return // I’m not sure how to return theList here... 
} 
+4

일반적으로 인터페이스가 느슨하게 결합되어 스왑 아웃이 쉬워 지도록 인터페이스를 반환하고자합니다. 왜 'List '을 돌려 주길 원하십니까? – tmesser

+0

@YYY 일반적으로 나는 의도적으로 무엇인가를 숨기지 않는 한, 가능한 가장 낮은 레벨의 타입을 반환하는 것을 선호한다. 그들이 쉽게 인터페이스로 취급하고 싶다면; 하위 수준 유형에 액세스해야하는 경우 (예 :이 경우) 캐스팅과 같은 작업을 시작해야 문제가 발생합니다. – Servy

답변

7

전화 ToList.

return theList.ToList(); 
+0

감사합니다. 내가 얻은 첫 번째 대답은 return (List ) theList였습니다. 또한 작동하는 구문 이외의 다른 차이점은 무엇입니까? – user1842828

관련 문제