我知道IEnumerable是一个接口,我也知道当一个类实现一个接口时,它必须为该接口中的方法实现特定的主体。我最近一直在编写一个程序,我觉得我需要将Ienumerable实现到我的一个类中,以便在foreach循环中使用它。之后,我这样做这是做这样:实现IEnumberable接口
class FData: IEnumerable<EClass> {
// Removed the irrelevant contents
public IEnumerator<EnumerableClass> GetEnumerator()
{
for (int i = 0; i < Emp_Id.Count; i++) {
yield return (new EnumerableClass { Emp_Id = Emp_Id[i], Salary = Salary[i] });
}
}
System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
{
return this.GetEnumerator();
}
}
我看到我的FDATA类可以使用完全一样,就好像它在继承所有枚举的方法,如选择(列表),全部(),任何()等。
我想知道如果这些方法的行为没有在界面中定义,究竟发生了什么?
这里没有扩展方法。 –
@JonHanna你的意思是? – Christos
我的意思是,你的回答是关于扩展方法,以及指向扩展方法描述的链接,但它们与这个问题无关。 –