2
我在寫一個實現接口IEnumerator的類。爲了得到它來編譯,我需要以下兩種方法:爲什麼在C#中爲IEnumerator <T>需要兩種當前方法?
public object Current
{
get { return current; }
}
T IEnumerator<T>.Current
{
get { return current; }
}
爲什麼這兩個必要嗎?從表面上看,只有後者是需要的。
它實現非通用版本的一個原因是允許向後兼容其他沒有更新的類和方法來採用泛型。大部分BCL不適用於泛型類型,如果沒有。 –