Страницы

Поиск по вопросам

суббота, 9 марта 2019 г.

Параметризованный класc. Возврат класса потомка

Я так понимаю это сделать нельзя, но всё таки спрошу...
Есть у меня базовый абстрактный класс Control, где параметр T - это тоже какой-то класс Component, но это уже не так важно.
Я создаю потомка Button - наследник от Control.
public class MyButton : Control
В базовом классе у меня есть методы, они что-то делают и возвращают ссылку на самого себя. Бывает удобно сделать:
new MyButton().Text("Foo").Name("Boo")
Но проблема в том, я могу вернуть только Control в базовом классе. В итоге у меня получается:
// 1. MyButton btn = new MyButton(); btn.Text("");
// 2. Control