这可能是相当明显的,但我似乎无法理解。对于一个相当复杂的重构(也称为hack),我需要能够根据一些标志交换列表的“类型”。为了使交换更容易并防止嵌套函数的“下游”更改,我决定像这样做:
List<Object> myList = new List<Tuple<string, bool>>();
基于特定的标志,我希望做出如下更改:
List<Object> myList= new List<MyObject>();
这样我就可以几乎不用修改消耗列表的方法,就能使用myList
。在大多数情况下,它们只会向列表中添加元素而不会从中读取,因此这种“hack”将非常方便。
然而,我似乎无法做到这一点,因为C#编译器抱怨无法从System.Tuple
转换为Object
。我真正缺少什么?