在不同的命名空间中实现多个属性

时间:2010-05-24 07:58:58

标签: c# interface properties overloading

我试图实现IEnumerator<状态>但是有两个不同的属性没有实现的错误。

  

'DataReader'未实现   接口成员   'System.Collections.Generic.IEnumerator.Current'

     

'DataReader'未实现   接口成员   'System.Collections.IEnumerator.Current'

有效的解决方案是:

    public Status Current { get; set; }

    object System.Collections.IEnumerator.Current
    {
        get { throw new NotImplementedException(); }
    }

看起来我可能有多个具有相同名称的属性,这些属性由不同的名称空间分隔。

这种类型的“属性重载”叫什么? 我怎样才能找到更多相关信息。

1 个答案:

答案 0 :(得分:4)

第二个属性实现是显式接口实现。它专门为Current接口实现了属性IEnumerable。您需要执行此操作的原因是类的Current属性类型不同(Status vs object),因此它与接口所指示的不匹配。< / p>