小弟是菜鸟,在创建子类后,生成解决方案时提示积累比子类克访问性低怎么解决?各位高手帮帮忙吧!下面是代码:
public class StudentBookSale : BookSale
    {
        static decimal decDiscountTotal;
        const decimal decDISCOUNT_RATE = 0.15M;
        public StudentBookSale(string strTitle, int intQuantity, decimal decPrice)
            : base(strTitle, intQuantity, decPrice)
        { 
        
        }
        public static decimal DiscountTotal
        {
            get 
            {
            return decDiscountTotal;
            }
        }
        protected override void CaculateExtendedPrice()
        {
            decimal decDiscount;
            decDiscount = Quantity * Price * decDISCOUNT_RATE;
            ExtendedPrice = Quantity * Price - decDiscount;
            decDiscountTotal += decDiscount;
        }
    }
谢谢啦!

解决方案 »

  1.   

    你的类StudentBookSale 是public 的,所以要求基类至少也应该是public 的...在继承中,子类的可访问性应该不比基类的高....
      

  2.   

    下面是小弟重新将BookSale声明为Public后的代码,出错提示为“命名空间已包含了BookSale的定义”,请各位仁兄支招!
    using System;
    using System.Collections.Generic;
    using System.Text;namespace Book
    {
        public class BookSale : Book
        { }
        public class StudentBookSale : BookSale
        {
            static decimal decDiscountTotal;
            const decimal decDISCOUNT_RATE = 0.15M;
            public StudentBookSale(string strTitle, int intQuantity, decimal decPrice)
                : base(strTitle, intQuantity, decPrice)
            { 
            
            }
            public static decimal DiscountTotal
            {
                get 
                {
                  return decDiscountTotal;
                }
            }
            protected override void CaculateExtendedPrice()
            {
                decimal decDiscount;
                decDiscount = Quantity * Price * decDISCOUNT_RATE;
                ExtendedPrice = Quantity * Price - decDiscount;
                decDiscountTotal += decDiscount;
            }
        }
    }
      

  3.   

    不是重新声明,而是在你定义BookSale的地方将其可访问性改为public...