【发布时间】:2009-05-14 14:57:11
【问题描述】:
如何在 C# 3.0 中使我的 Linq to Sql 类 IEnumerable 或对象 IEnumerable
【问题讨论】:
-
输入“:IEncumerable”,右键“实现接口”填空——认真的,细节很重要
标签: .net ienumerable
如何在 C# 3.0 中使我的 Linq to Sql 类 IEnumerable 或对象 IEnumerable
【问题讨论】:
标签: .net ienumerable
要在 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();
}
}
至于你问题的第二部分,我不确定你在问什么或试图做什么。
【讨论】:
如果您谈论的是 LinqToSql 生成的类,那么您可以在部分类中进行
public partial class YourLinqToSqlClass : IEnumerable
{
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
//Implement...
}
}
【讨论】:
我不确定“使我的 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>,并且可以通过它进行遍历。
这是(上面有乔希的回答)这个问题吗?
【讨论】: