例子:
public class ListInheritanceTest
{
public void Test1()
{
List<string> list = new List<string>();
MyList myList = list;
}
}
public class MyList : List<string>
{
}
但MyList myList = list
有错误“无法将类型'System.Collections.Generic.List'隐式转换为'ConsoleTest.MyList'”
我怎样才能解决这个问题?谢谢。
----edit----
我不是在问为什么它会给出错误。我想知道使分配工作的解决方法是什么。上面的代码只是一个简化的例子。目的是List<SomeType>
在我的代码中将 all 转换为 MyList 而不会引入任何向后不兼容。
--- 第二次编辑 ----
让我重新表述这个问题。假设我在上面的代码中以相同的方式定义了 MyList。将 a 分配给 MyList的最简单方法是什么?List<string>
我知道
foreach(var item in list)
mylist.Add(item)
总是工作。只是寻找更优雅的东西。