Does auto implemented properties have the same backed field in base and derived classes in C# ? I have the following code:
class Employee
{
public virtual string Infos { get; set; }
}
class Engineer : Employee
{
public override string Infos
{
get
{
//Employee and Engineer share the same backed field.
return base.Infos + " *";
}
}
}
And in the Main class, i have the following code :
class Program
{
static void Main(string[] args)
{
Employee employee = new Engineer { Infos = "Name : Boulkriat Brahim" };
Console.WriteLine ( employee.Infos );
}
}
Compiling and Running this code will print "Boulkriat Brahim *". So base.Info is equal to "Boulkriat Brahim".This mean that this.Info and Base.Info have the same value despite i create an object of type Engineer. Does this mean that they had the same backed field?