Когда я наследую от класса, такого как Button
, как свойства Button
работают в производном классе?Закрытые поля Button
не наследуются в моем производном классе, но разве свойства не должны быть там, чтобы публичные свойства могли обращаться к внутреннему закрытому состоянию?Например, как работает свойство Location
в следующем примере?
public class MyClass : Button
{
MyClass()
{
this.Location = new System.Drawing.Point(134, 34);
}
}
В исходном коде .NET я вижу, что Location
реализован как:
public Point Location
{
get
{
return new Point(this.x, this.y); // x is a private field
}
set
{
this.SetBounds(value.X, value.Y,
this.width, this.height,
BoundsSpecified.Location);
}
}
Я не понимаю, почему доступ к this.x
и this.y
не вызывает ошибку в моем производном классе.