如何将SortableBindingList分配给LINQ查询

时间:2012-01-31 19:21:25

标签: c# linq

我刚下载了SortableBindingList,我正在尝试将其分配给此LINQ查询(而不是var):

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;

1 个答案:

答案 0 :(得分:3)

因为您使用的是匿名类型,所以需要使用类型推断创建它:

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

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