我有如下两个类,A类继承自B类。
public class A
{
public string Title { get; set; }
}
public class B: A
{
}
然后我有一个函数如下,它接收 A 类项目的列表:
public static void Get(List<A> values)
{
// Do something
}
现在,当我尝试将 B 类的项目列表传递给函数时,如下所示,
private function void Test()
{
var k = new List<B>();
Get(k);
}
我收到以下错误消息
无法从 'System.Collections.Generic.List<B>' 转换为 'System.Collections.Generic.List<A>'
这不应该因为 B 只是从 A 继承并具有 A 所具有的属性而起作用吗?
我已经花了几个小时试图查找这个,但我还没有弄清楚我做错了什么。我该如何解决?