calling a dervied method from a parent class c#
我在一个父类中定义了
但是,这不起作用,因为总是使用父类的name属性,即使在子类中重新定义它也是如此。
下面是一个例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | using System; namespace test { class Program { static void Main(string[] args) { Bar n = new Bar(); Console.WriteLine(n); Console.ReadLine(); } } class Foo { public override string ToString() { return MyName; } public string MyName { get { return"foo"; }} } class Bar : Foo { public new string MyName { get { return"bar"; }} } } |
这个例子的输出是
我做错什么了?或者我只是误解了C继承的一个基本方面?
这是因为
将