Properties can be overridden:
public class A
{
public virtual string prop
{
get { return "A:prop"; }
}
public string method()
{
string p = prop + " Added";
return p;
}
}
public class B : A
{
public override string prop
{
get { return "B:prop"; }
}
}
private void MyButton_Click(object sender, EventArgs e)
{
A a = new A();
A b = new B();
Console.WriteLine("{0},{1}", a.prop, a.method());
Console.WriteLine("{0},{1}", b.prop, b.method());
Will generate:
A:prop,A:prop Added
B:prop,B:prop Added