Вызов абстрактного метода в конструкторе - C#
Формулировка задачи:
Здравтвуйте, интересует такой вопрос: можно ли вызвать абстрактный метод в конструкторе абстрактного класса?
Решение задачи: «Вызов абстрактного метода в конструкторе»
textual
Листинг программы
abstract class Foo
{
public Foo()
{
//вызов виртуального метода
SayHello();
}
public abstract void SayHello();
}
class Boo : Foo
{
private string MyString;
public Boo() : base()//вызов базового конструктора
{
//инициализация собственных полей
MyString = "Hello from Boo";
}
public override void SayHello()
{
Console.WriteLine(MyString);//упс, а здесь будет исключение, ведь MyString еще не инициализирован
}
}