本文介绍了抽象类转换运算符的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Poco项目包装。

abstract class AbstractPocoUI<T> {
    protected T PocoItem;
}

class PocoA {

}
class PocoAUI:AbstractPocoUI<PocoA> {

}

我想这样做

var c = new ObservableCollection<PocoAUI>(collectionOfTypePocoA.Cast<PocoAUI>());

如何在抽象类中覆盖cast操作符?
我应该在中做什么来获取例如 PocoAUI PocoA PocoItem 字段中?
感谢。

How can i override cast operator in abstract class?What should i do in AbstractPocoUI to get for example PocoAUI with PocoA in PocoItem field ?Thanks.

推荐答案

您可以实现 IConvertible 创建 TypeConverter ,但不能覆盖强制转换。

You can implement IConvertible interface or create a TypeConverter but casting cannot be overriden.

请查看隐式运算符重载。

Have a look at Implicit Operator overloading here.

这篇关于抽象类转换运算符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-24 10:47