【发布时间】:2011-09-27 12:28:53
【问题描述】:
有了这个:
public class Widget : IWidget {}
为什么collection2 == null在这里:
var collection1 = collectionView.SourceCollection as ObservableCollection<Widget>;
var collection2 = collectionView.SourceCollection as ObservableCollection<IWidget>;
在哪里SourceCollection is ObservableCollection<Widget>
【问题讨论】:
-
SourceCollection 的类型是什么
-
集合 1 不是吗?在您尝试投射之前,collectionView.SourceCollection 的类型是什么?
-
如果您使用的是 .NET 4,请阅读:Covariance and Contravariance in Generics
-
您使用的是哪个版本的 C#? 4.0 版通常支持泛型协方差。
-
您可以使用 LINQ
Cast()方法 - 但首先查看协方差。
标签: c# .net c#-4.0 collections casting