Как я могу вызвать конструктор класса после Я назвал свой собственный конструктор?
Проблема заключается в том, что конструктор базового класса вызывает абстрактный метод (переопределенный в подклассе), которому необходимо получить доступ к переменной x
, инициализированной в конструкторе подкласса?
Код короткого примера:
abstract class BaseClass
{
protected string my_string;
protected abstract void DoStuff();
public BaseClass()
{
this.DoStuff();
}
}
class SubClass : BaseClass
{
private TextBox tb;
public SubClass()
: base()
{
this.my_string = "Short sentence.";
}
protected override void DoStuff()
{
// This gets called from base class' constructor
// before sub class' constructor inits my_string
tb.Text = this.my_string;
}
}
Изменить: Основываясь на ответах, это, очевидно, невозможно. Существует ли автоматический способ вызова this.DoStuff();
для каждого объекта SubClass
после его создания? Конечно, я мог бы просто добавить this.DoStuff();
после всех других строк в конструкторе подкласса, но имея около 100 из этих классов, он выглядит глупо. Любое другое решение, или я должен использовать ручной?