, , , :
public class A
{
public virtual string Text { get; set; }
}
public class B : A
{
new public string Text { get; set; }
}
public class X : A
{
public override string Text { get; set; }
}
B someB = new B();
someB.Text = "hello world";
A someBUpcastedToA = someB;
string text = someBUpcastedToA.Text;
X someX = new X();
someX.Text = "goodbye";
A someXUpcastedToA = someX;
, , , - , .
, :
X someX = new X();
A a = someX;
(.. public string Text) . , , , , . , , .