我正在嘗試將對象的ObservableCollection
(在下面的示例中爲ObservableCollection<A>
)分配給父類中的字段,該字段是由該對象實現的接口的ObservableCollection
(在下面的示例中:public ObservableCollection<IOrderable> childModels
,其中類型A
實現了IOrderable
)。
這可以看出以下幾點:
將對象的ObservableCollection分配給作爲接口的ObservableCollection的字段
public class A : IOrderable { }
public class B : IOrderable { }
public class Term
{
public ObservableCollection<A> aCollection { get; set; }
}
public class Year
{
public ObservableCollection<B> bCollection { get; set; }
}
public abstract class InfoListViewModelBase : ViewModelBase
{
public ObservableCollection<IOrderable> childModels { get; set; }
}
public class TermViewModel : InfoListViewModelBase
{
public TermViewModel(Term t)
{
this.childModels = t.aCollection;
}
}
public class YearViewModel : InfoListViewModelBase
{
public TermViewModel(Year y)
{
this.childModels = y.bCollection;
}
}
的問題是,this.childModels = t.aCollection;
和this.childModels = y.bCollection;
都沒有工作,而不是給出錯誤「無法隱式類型ObservableCollection<A>
轉換爲ObservableCollection<IOrderable>
」和「不能隱式轉換類型ObservableCollection<B>
到ObservableCollection<IOrderable>
「
是否有正確的交流方式在這些課程之間獲得期望的結果?