我有一个接口IPerson和两个类,Adventurer并Worker实现它。我目前有单独ObservableCollection的冒险家和工人。我有一个方法,我希望能够将 anObservableCollection<Adventurer>和 anObservableCollection<Worker>作为参数传递,但到目前为止我还没有运气。该方法仅使用实现的属性IPerson,如果我将其声明为:
public void MyMethod(ObservableCollection<IPerson> collection)
...方法本身没有错误。但是,当我尝试传入 时,ObservableCollection<Adventurer>出现 2 个错误:
无法从“System.Collections.ObjectModel.ObservableCollection”转换为“System.Collections.ObjectModel.ObservableCollection”`
和
'AoW.MyMethod(System.Collections.ObjectModel.ObservableCollection)' 的最佳重载方法匹配有一些无效参数`
我可以将两个ObservableCollections 传递给同一个方法吗?如果是这样,我应该怎么做?任何建议将不胜感激。