2013-01-15 26 views
1

繼承我試圖走線槽this tutorial並有related code它。 這部分自IEnumerable

IEnumerator IEnumerable.GetEnumerator() 
{ 
    return Items.GetEnumerator(); 
} 

給我一個錯誤

"Using the generic type 'System.Collections.Generic.IEnumerator<T>' requires 1 type arguments" 

你能告訴我什麼是錯?謝謝。

+0

確定錯誤具體涉及的那部分的執行?該示例具有類從IEnumerator的繼承和實現該方法'公共的IEnumerator 的GetEnumerator()'。你的代碼也有嗎? – JLRishe

回答

5

您不要繼承IEnumerable。這是一個界面。你可以實現接口。

您顯示的錯誤消息導致我懷疑您正在實施IEnumerable.GetEnumerator(),它返回IEnumerator(非通用接口),但試圖在代碼中使用通用接口IEnumerator<T>

在你的鏈接代碼確實顯示了一個通用接口

public IEnumerator <T> GetEnumerator() 
{ 
    return Items.GetEnumerator(); 
} 
+0

在該代碼中有已經你寫的方法(公衆的IEnumerator 的GetEnumerator())。但也有方法「IEnumerator IEnumerable.GetEnumerator()」,我正在談論,哪些是導致問題。無論如何,我刪除了它,但現在有一個錯誤「PhoneApp1.Group 未實現接口成員‘System.Collections.IEnumerable.GetEnumerator()’。‘PhoneApp1.Group .GetEnumerator()’無法實現System.Collections.IEnumerable .GetEnumerator()'「,因爲它沒有匹配的返回類型'System.Collections.IEnumerator'。我該怎麼辦? – DropDropped

+0

在刪除代碼之前,您確實看到了錯誤?哪行代碼是錯誤的參考?錯誤消息似乎在抱怨你*參考* GetEnumerator()的位置,而不是你定義它的地方。 –