Оператор приведения абстрактного класса - PullRequest
0 голосов
/ 13 мая 2011

Элементы Poco обернуты.

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

class PocoA {

}
class PocoAUI:AbstractPocoUI<PocoA> {

}

Я хочу сделать что-то вроде этого

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

Как я могу переопределить оператор приведения в абстрактном классе?Что я должен сделать в AbstractPocoUI, чтобы получить, например, PocoAUI с PocoA в PocoItem поле?Спасибо.

1 Ответ

3 голосов
/ 13 мая 2011

Вы можете реализовать IConvertible интерфейс или создать TypeConverter, но приведение не может быть отменено.


Посмотрите на неявную перегрузку оператора здесь .

...