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