Как мне сделать мой класс Linq to Sql IEnumerable - PullRequest
0 голосов
/ 14 мая 2009

Как мне сделать мой класс Linq to Sql IEnumerable или объект IEnumerable в C # 3.0

Ответы [ 3 ]

2 голосов
/ 14 мая 2009

Чтобы сделать объект Enumerable в C #, вы должны реализовать интерфейс IEnumerable

public class Widget{}
public class WidgetCollection : IEnumerable<Widget>
{
    public IEnumerator<Widget> GetEnumerator()
    {
        throw new NotImplementedException();
    }

    System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
    {
        return this.GetEnumerator();
    }

}

Что касается второй части вашего вопроса, я не уверен, о чем вы спрашиваете или пытаетесь сделать.

0 голосов
/ 14 мая 2009

Если вы говорите о сгенерированных классах LinqToSql, вы должны сделать это в частичном классе

public partial class YourLinqToSqlClass : IEnumerable
{
    System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
    {
        //Implement...
    }

}
0 голосов
/ 14 мая 2009

Я не уверен, что вы подразумеваете под "сделать мой класс Linq to SQL IEnumerable". Однако в вашем контроллере (при условии ASP.NET MVC) ...

WidgetDataContext dataContext = new WidgetDataContext();

var data = dataContext.Widgets.OrderBy(x => x.name);

return View(data);

В этом случае представление сможет просто привести объект data (называемый Model в представлении) как IEnumerable<Widget> и может пройти через него.

Это (с ответом Джоша выше) вопрос?

...