抽象显式接口实现在C#

我有这个C#代码:

abstract class MyList : IEnumerable<T>
{
    public abstract IEnumerator<T> GetEnumerator();

    //abstract IEnumerator IEnumerable.GetEnumerator();
}

就这样,我得到:

‘Type’ does not implement interface member ‘System.Collections.IEnumerable.GetEnumerator()’.

删除评论,我得到:

The modifier ‘abstract’ is not valid for this item

如何做出明确的实现摘要

有趣 – 我不知道你可以。但是,如果这是您的真实代码,那么您是否希望通过调用通用的GetEnumerator()来实现非通用GetEnumerator()?

我会这样做:

abstract class MyList<T> : IEnumerable<T>
{
    public abstract IEnumerator<T> GetEnumerator();

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

这样可以节省您在每个派生类中执行它的细节 – 这无疑将使用相同的实现。

http://stackoverflow.com/questions/795108/abstract-explicit-interface-implementation-in-c-sharp

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:抽象显式接口实现在C#