С некоторыми особенностями / поведением языка легко экспериментировать ... Учитывая следующий код:
public class A
{
public string WhoAmI => this.ToString();
}
public class B:A { }
Ваш вопрос эквивалентен вопросу о том, что Console.WriteLine(new B().WhoAmI)
выводит на печать?
Хорошо, если сомневаетесь, запустите его и посмотрите ... это занимает менее 1 минуты.
this
является ссылкой на объект и ведет себя как любая другая ссылка, у него просто есть специальное имя.
Примите во внимание следующее:
A a = new B();
Теперь у вас есть B
экземпляр, на который ссылается A
напечатанная ссылка a
, но экземпляр по-прежнему B
.В вашем случае this
внутри BaseClass
- это просто BaseClass
ссылка на любой экземпляр, который был создан.Не путайте тип ссылки, указывающей на объект, с типом самого объекта, они не обязательно должны быть одинаковыми.