我有一个实现 IList 的通用类
public class ListBase<T>: IList<T>, IListBase{
IEnumerator<T> GetEnumerator(){ ....
System.Collections.IEnumerator GetEnumerator(){ return GetEnumerator();}
}
IListBase 是一个接口,用于在运行时不知道 T 类型的情况下访问此类上的方法。
我需要通过这个 IListBase 接口实现第二个 Enumerator,它将迭代我的类的成员并将它们转换为所有成员都将实现的基本类型。
我试过让 IListBase 实现我的特定枚举器:
public interface IListBase: IEnumerable<MemberBaseType> { ....
但这会因为 T 和 MemberBaseType 在某些情况下可能是相同的事实而崩溃。即使将枚举器成员添加到接口然后使用显式声明也无助于解决这个问题。
然后我尝试添加另一种方法来调用仅获取特定的 IEnumerator,但编译器随后抱怨找不到与此类型一起使用的公共 GetEnumerator 方法...
有什么建议可以添加这个辅助枚举器,以免它们相互冲突吗?