Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 抽象类转换运算符_C#_Casting_Abstract Class_Operator Keyword - Fatal编程技术网

C# 抽象类转换运算符

C# 抽象类转换运算符,c#,casting,abstract-class,operator-keyword,C#,Casting,Abstract Class,Operator Keyword,Poco项目已包装 abstract class AbstractPocoUI<T> { protected T PocoItem; } class PocoA { } class PocoAUI:AbstractPocoUI<PocoA> { } 抽象类AbstractPocoUI{ 保护T细胞; } 类PocoA{ } 类PocoUI:AbstractPocoUI{ } 我想做这样的事情 var c = new ObservableCollectio

Poco项目已包装

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

class PocoA {

}
class PocoAUI:AbstractPocoUI<PocoA> {

}
抽象类AbstractPocoUI{
保护T细胞;
}
类PocoA{
}
类PocoUI:AbstractPocoUI{
}
我想做这样的事情

var c = new ObservableCollection<PocoAUI>(collectionOfTypePocoA.Cast<PocoAUI>());
var c=newobserveCollection(collectionOfTypePocoA.Cast());
如何在抽象类中重写强制转换运算符? 在
AbstractPocoUI
中,我应该如何使用
PocoItem
字段中的
pocoai
获取示例
pocoai

谢谢。

您可以实现
IConvertible
接口或创建
类型转换器
,但强制转换无法覆盖



查看隐式运算符重载。

您可以实现
IConvertible
接口或创建
TypeConverter
,但不能重写强制转换



查看隐式运算符重载。

重写隐式运算符如何?如何在重写隐式运算符内部创建PocoA对象的AbstractPocoUI版本?如何重写隐式运算符?如何在重写隐式运算符内部创建PocoA对象的AbstractPocoUI版本?