我有以下課程。
汽車.cs
public class Car
{
}
scoda.cs
public class scoda : Car
{
}
測驗.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<KillCarMain.deneme.scoda>' 轉換為 'System.Collections.ObjectModel.ObservableCollection<KillCardMain.deneme.Car>'
如何解決這個問題?
uj5u.com熱心網友回復:
正如評論中所指出的,集合Car不是Scoda. 因此,您應該將您的集合轉換Scoda為以下集合Car:
var carList = new ObservableCollection<Car>(scodaList.Select(s => (Car)s));
set(carList);
如果您不想創建 new 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)
{
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/532111.html
標籤:C#遗产铸件可观察的集合
