都不想改名字,有什么办法吗?

解决方案 »

  1.   

    同名是可以的吧,只不过容易混淆,使用起来有点麻烦,但是是完全可以的(当然编译器会赠送你一个警告)
        class Father{
            public int T{get;set;}
        }
        
        class Son : Father
        {
            public int T{get;set;}
        }
        
        class Program
        {
            public static void Main(string[] args)
            {
                Father f = new Son();
                f.T =1;
                (f as Son).T = 2;
                
                Console.WriteLine(f.T);
                Console.WriteLine((f as Son).T);
                
                Console.ReadKey(true);
            }
        }
      

  2.   

    恩 我按照编译器的提示 在派生类里面的属性加了一个new 
      

  3.   

    使用new关键字。不是很多人喜欢探究new和override的区别么?
      

  4.   

    你可以试下:
    class B
    {
        public virtual string P { get; set; }
    }
    class D : B
    {
        public override string P { get; set; }
    }
      

  5.   

    楼主没有OOP基础,本来就迷糊...你们这么一带,好嘛更迷糊了...给楼主个建议,现在不要去纠缠这些名词有啥区别,先去看看OOP的入门书把基础概念搞明白了再说...
      

  6.   

    从Visual Studio 2005开始,VS集成了重构工具。你可以修改一个变量名,然后变量下出现一个小红线,点,选择重命名,即可。因为害怕改名字麻烦而保留重名的变量的做法相当可笑,如同觉得头疼就把脑袋砍下来一样。
      

  7.   

    1 基类的是虚的,那子类就继承了。
    2 基类不虚,子类就new了。
    3 基类不虚,子类不想new,那就看到编译出警告后,当没看见。
    4 看写基类的人不顺眼。那你就把他所有的属性都强奸了。