C#--类之隐藏基类的成员

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication3
{
   public class BaseClass
    {
        /// <summary>
        /// 常量
        /// </summary>
        public const int Number = 10;

        /// <summary>
        /// 属性
        /// </summary>
        public int ID { get; set; }

        /// <summary>
        /// 字段
        /// </summary>
        public string Name;

        /// <summary>
        /// 方法
        /// </summary>
        /// <returns></returns>
        public void SayHello()
        {
            Console.WriteLine("我是无返回类型的方法");
        }

        /// <summary>
        /// 索引
        /// </summary>
        /// <param name="index"></param>
        /// <returns></returns>
        public int this[int index]
        {
            get
            {
                switch (index)
                {
                    case 0:
                        return 0;
                        break;
                    case 1: return 1;
                        break;
                    case 2: return 2;
                        break;
                    case 3: return 3;
                        break;
                    default: return 10000;
                        break;
                }
            }
            set
            {

                switch (index)
                {
                    case 0:
                        ID = value;
                        break;
                    case 1: ID = value;
                        break;
                    case 2: ID = value;
                        break;
                    case 3: ID = value;
                        break;
                    default: ID = value;
                        break;
                }
            }



        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication3
{
    public class MyClass : BaseClass
    {
        /// <summary>
        /// 常量
        /// </summary>
       new public const int Number = 10;

        /// <summary>
        /// 属性
        /// </summary>
       new public int ID { get; set; }

        /// <summary>
        /// 字段
        /// </summary>
        public string Name;

        /// <summary>
        /// 方法
        /// </summary>
        /// <returns></returns>
        public string SayHello()
        {
            string str = "hello";
            return str;
        }

        /// <summary>
        /// 索引
        /// </summary>
        /// <param name="index"></param>
        /// <returns></returns>
        public int this[int index]
        {
            get
            {
                switch (index)
                {
                    case 0:
                        return 0;
                        break;
                    case 1: return 1;
                        break;
                    case 2: return 2;
                        break;
                    case 3: return 3;
                        break;
                    default: return 10000;
                        break;
                }
            }
            set
            {

                switch (index)
                {
                    case 0:
                        ID = value;
                        break;
                    case 1: ID = value;
                        break;
                    case 2: ID = value;
                        break;
                    case 3: ID = value;
                        break;
                    default: ID = value;
                        break;
                }
            }



        }
    }
}

使用new关键字隐藏基类成员

原文地址:https://www.cnblogs.com/caofangsheng/p/4859165.html