2012-01-31 2 views
3

난 그냥 SortableBindingList 다운로드 내가 (대신 VAR의)이 LINQ 쿼리에 할당하기 위해 노력하고있어 :LINQ 쿼리에 SortableBindingList를 할당하는 방법

var q = from r in document.Descendants("release") 
         select new 
         { 
          Release = r.Attribute("id").Value, 
          Artist = String.Join(";", r.Element("artists").Descendants("artist").Select(x => x.Element("name").Value).ToArray()), 
          Album = r.Element("title").Value 
         }; 

그것은 어려운 아마도 아니지만, 난 이 작업을 수행하는 방법에 대해 정말 혼란 스럽습니다 ... 일부 도움을 주실 수 있습니다!

편집

정적 클래스 :

public static class LINQExtension 
{ 
    public static SortableBindingList<object> ToSbl(this IEnumerable<object> items) 
    { 
     return new SortableBindingList<object>(items); 
    } 
} 

할당 : 익명 형식을 사용하기 때문에

SortableBindingList<object> sbl = LINQExtension.ToSbl(q); 
    releases_dataGridView.DataSource = sbl; 

답변

3

, 당신은이 형식 유추를 사용하여 만든해야합니다

public static SortableBindingList<T> ToSbl(this IEnumerable<T> items) { 
    return new SortableBindingList<T>(items); 
} 

var sbl = (...).ToSbl(); 
+0

답변을 주셔서 감사합니다. 정확하게 정렬했는지는 확실하지 않지만 정렬 작업이 있습니다. 내 소식을 볼 수 있도록 편집했습니다. – Daan

+0

모든 유형 유추가 손실됩니다. 타입 유추를 원하지 않는다면, 확장을 전혀 필요로하지 않습니다. '새로운 SortableBindingList (q)'를 쓸 수 있습니다. 타입 유추를 원한다면'var'을 사용하여 변수를 선언하십시오. – SLaks

관련 문제