当前位置:  开发笔记 > 编程语言 > 正文

如何解决Generic.IList <T> .this []和IList.this []之间的调用歧义?

如何解决《如何解决Generic.IList<T>.this[]和IList.this[]之间的调用歧义?》经验,为你挑选了0个好方法。

我有一个集合实现了一个扩展IList 和List的接口.

public Interface IMySpecialCollection : IList, IList { ... }

这意味着我有两个版本的索引器.

我希望使用通用实现,所以我通常实现它:

public MyObject this[int index] { .... }

我只需要IList版本进行序列化,所以我明确地实现它,以保持隐藏:

object IList.this[int index] { ... }

但是,在我的单元测试中,以下内容

MyObject foo = target[0];

导致编译器错误

以下方法或属性之间的调用不明确

我对此感到有些惊讶; 我相信我以前做过它并且工作正常.我在这里错过了什么?如何让IList 和IList在同一个界面中共存?

编辑 IList 没有实现IList,我必须实现IList进行序列化.我对变通办法不感兴趣,我想知道我缺少什么.

再次编辑:我不得不从界面中删除IList并将其移到我的课堂上.我不想这样做,因为实现接口的类最终将被序列化为Xaml,这需要集合来实现IDictionary或IList ...

推荐阅读
郑谊099_448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有