casting BindList<Classname> to BindingList<Interfac

本文关键字:lt BindingList Interfac to Classname casting BindList gt | 更新日期: 2023-09-27 17:54:10

我有一个实现接口I的对象(类A)。

我的对象C有一个BindingList listA

有一点需要执行以下强制转换:

BindingList<I> funcName(){
   ...
   return (BindingList<I>) C.listA;
}

但由于强制转换错误,无法编译。

我该怎么去做呢?

casting BindList<Classname> to BindingList<Interfac

这是一个协方差问题。在。net 4.0中已经解决了这个问题,但并不是针对所有可枚举类型,而且我认为BindingList也没有解决这个问题。

我认为你唯一的选择是创建一个新的BindingList实例,如下所示:

BindingList<I> funcName(){
   ...
   return new BindingList<I>(C.listA);
}

或者,您可以将c.l lista字段声明为BindingList然后添加你的类的实例