我知道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
我的意思是,你的回答是關於擴展方法,以及指向擴展方法描述的鏈接,但它們與這個問題無關。 –