我正在编写一个实现的简单集合类ICollection<T>.一切都基本有效,除非我添加一个IEnumerator<T> GetEnumerator()方法,它抱怨我没有IEnumerator GetEnumerator()方法.反之亦然.我不允许两者都有,因为它们只有返回类型不同,所以我真的很困惑编译器想要的东西.
以下是错误,正如它们给我的错误:
错误CS0738:
MyClass<T>' does not implement interface memberSystem.Collections.Generic.IEnumerable.GetEnumerator()'和最佳实现候选者MyClass<T>.GetEnumerator()' return typeSystem.Collections.IEnumerator'不匹配接口成员返回类型`System.Collections.Generic.IEnumerator'
或者,或者我可以:
错误CS0738:
MyClass<T>' does not implement interface memberSystem.Collections.IEnumerable.GetEnumerator()'和最佳实现候选者MyClass<T>.GetEnumerator()' return typeSystem.Collections.Generic.IEnumerator'不匹配接口成员返回类型`System.Collections.IEnumerator'
明确地实施它们:
IEnumerator IEnumerable.GetEnumerator() {
}
IEnumerator<T> IEnumerable<T>.GetEnumerator() {
}
// etc.
Run Code Online (Sandbox Code Playgroud)
显式接口实现是如何实现的.在MSDN上阅读它:http://msdn.microsoft.com/en-us/library/aa288461( v = vs.71).aspx
| 归档时间: |
|
| 查看次数: |
2013 次 |
| 最近记录: |