Я отлаживаю следующий код:
class A
{
public virtual string X => "A";
}
class B : A
{
public bool OwnX { get; set; } = true;
public override string X
=> OwnX ? "B" : base.X; // (o)
}
class Program
{
static void Main() => Console.WriteLine(new B().X);
}
И у меня есть точка останова на линии, помеченной (o)
. Когда точка останова попадает, я пытаюсь оценить base.X
и получить ее значение "B"
:
Вопрос: почему бы не "A"
?