【发布时间】:2013-12-25 03:30:51
【问题描述】:
我已经做了一个自定义类:
class fpCellEnum : FarPoint.Win.Spread.Cell, IEnumerable<FarPoint.Win.Spread.Cell>
{
public IEnumerable<FarPoint.Win.Spread.Cell> AsEnumerable<TSource>(this IEnumerable<FarPoint.Win.Spread.Cell> source)
{
return source;
}
}
我需要上面的类,以便我可以在 FarPoint 表的单元格上使用 Linq。但我在这段代码中收到以下错误:
fpCellEnum fp = new fpCellEnum();
IEnumerator<fpCellEnum> iEnCells = ((fpCellEnum)fpSpread1.ActiveSheet.Cells[0,0,fpSpread1.ActiveSheet.Rows.Count,fpSpread1.ActiveSheet.Columns.Count]).AsEnumerable<FarPoint.Win.Spread.Cell>();
无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“System.Collections.Generic.IEnumerator”。存在显式转换(您是否缺少演员表?)
任何帮助将不胜感激,谢谢。
【问题讨论】:
-
你的意思是
IEnumerable<fpCellEnum>? -
1) 这不是扩展方法的工作方式。 2)我认为你误解了一些关于泛型的东西。 3) 真的不清楚您希望如何将
Cell转换为fpCellEnum。 -
当包含的类已经是返回类型时,为什么还需要
AsEnumerable<TSource>()方法(而且你根本不使用泛型TSource)?
标签: c# linq c#-4.0 inheritance type-conversion