我有以下类:
Car.cs
public class Car
{
}
scoda.cs
public class scoda : Car
{
}
Test.cs
public class Test
{
public ObservableCollection<scoda> scodaList;
public Test()
{
scodaList = new ObservableCollection<scoda>();
scoda s = new scoda();
scodaList.Add(s);
set(scodaList);
}
public void set(ObservableCollection<Car> list)
{
}
}
当调用set方法时,我得到了下面的转换错误
无法从'System.Collections.ObjectModel.ObservableCollection 正如评论中指出的, 如果您不想创建新的Car
的集合不是Scoda
的集合。因此,您应该将Scoda
的集合转换为Car
的集合:var carList = new ObservableCollection<Car>(scodaList.Select(s => (Car)s));
set(carList);
ObservableCollection
,您可以将scodaList定义为Car
对象的集合:public ObservableCollection<Car> scodaList;
private void test()
{
scodaList = new ObservableCollection<Car>();
scoda s = new scoda();
scodaList.Add(s);
set(scodaList);
}
public void set(ObservableCollection<Car> list)
{
}