不用new作为修饰符怎么也没问题。。

o0TT0o 2012-03-27 07:18:13
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace test
{
class Program
{
static void Main(string[] args)
{

B b = new B();
Console.WriteLine(b.x);
Console.Read();
}

}
public class A {
public int x ;

}
public class B:A{
public int x; //A包含x成员,B类也包含x成员,并特意使用new修饰符隐藏A类的x成员。

}

}

书上说要用new隐藏掉相同的属性,我没用new为什么还是对的,没警告没错误,
而且试了几个值,系统找的都是B中的x……
再者怎么才能找到A的x。。。
...全文
52 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
传递正能量 2012-03-27
  • 打赏
  • 举报
回复
1.警告是有的
2.编译器 隐式帮你加new了
3.A b = new B();输出A的
threenewbee 2012-03-27
  • 打赏
  • 举报
回复
Console.WriteLine((b as A).x);

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧