【发布时间】:2010-10-22 03:50:59
【问题描述】:
我有这个 C# 代码:
abstract class MyList : IEnumerable<T>
{
public abstract IEnumerator<T> GetEnumerator();
//abstract IEnumerator IEnumerable.GetEnumerator();
}
按原样,我得到:
'Type' 没有实现接口成员'System.Collections.IEnumerable.GetEnumerator()'。
删除评论,我得到:
修饰符“抽象”对此项无效
如何制作显式的实现抽象
【问题讨论】:
-
这是 C# 编译器恕我直言的一个缺点。在许多用例中,您必须“仅仅因为”添加一个虚拟实现。此外,如果您选择非抽象成员,编译器将允许没有实现的子类,从而暴露调用虚拟实现的风险。
标签: c# interface abstract-class