如何将通用ObservableCollection <T>分配给已知T参数的ObservableCollection?

时间:2019-06-20 11:09:48

标签: c# wpf casting generic-collections

我什至不确定该问题是否正确提出,因为我不知道如何命名。对不起,如果造成混淆,但是我将逐步解释我不知道的内容。在我的 VM 中,一种方法是调用 service 方法:

getInvocationStackTraces

服务方法采用类型为public ObservableCollection<LoadedJockey> Jockeys { get; private set; } Jockeys = await _updateDataService.UpdateDataAsync(Jockeys, JPlFrom, JPlTo, "updateJockeysPl"); 自变量,因此ObservableCollection<T>可以代替Jockeys,{{1} },Horses等。在我的 service 方法中,我需要将通用集合传递给参数Cars(已知类型) ,以获得类似这样的内容:

Poneys

如何做到?

1 个答案:

答案 0 :(得分:4)

铸造元素

ObservableCollection<LoadedJockeys> jockeys = 
new ObservableCollection<LoadedJockeys>(genericCollection.Cast<LoadedJockeys>());

或仅采用匹配的元素

ObservableCollection<LoadedJockeys> jockeys = 
new ObservableCollection<LoadedJockeys>(genericCollection.OfType<LoadedJockeys>());