0

Linq to SqlクラスIEnumerableまたはオブジェクトIEnumerableをC#3.0で作成するにはどうすればよいですか?

4

3 に答える 3

2

C# でオブジェクトを Enumerable にするには、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();
    }

}

あなたの質問の 2 番目の部分については、あなたが何を求めているのか、何をしようとしているのかわかりません。

于 2009-05-14T14:59:20.063 に答える
0

「Linq to SQL クラスを IEnumerable にする」の意味がわかりません。ただし、コントローラー(ASP.NET MVCを想定)では...

WidgetDataContext dataContext = new WidgetDataContext();

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

return View(data);

この場合、ビューは(ビューで呼び出された)dataオブジェクトを単純にキャストすることができ、それを介して foreach することができます。ModelIEnumerable<Widget>

これは(上記のジョシュの答えで)質問ですか?

于 2009-05-14T15:01:53.617 に答える
0

LinqToSql で生成されたクラスについて話している場合は、部分クラスでそれを行います

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

}
于 2009-05-14T15:03:10.447 に答える