编译错误 
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS0122: 不可访问“System.Collections.Hashtable.values”,因为它受保护级别限制源错误: 
public class ShoppingCart{
行 36:   Hashtable _Orders=new Hashtable();
行 37:   public ICollection Orders{
行 38:     get{return _Orders.values;}
行 39:   }
行 40:   public decimal TotalCost{
 源文件: E:\aspxTest\cgi-bin\shoppingCart\ShoppingCart.cs    行: 38 请问如何解决?

解决方案 »

  1.   

    Hashtable _Orders=new Hashtable();加上public 试试
      

  2.   

    你这个属性是只读的,就只能获得他的值dim xx as cls =new cls
    xx.属性只能去得到他的值,而不能写。。因为是只读的
      

  3.   

    那就是说value这个值在hashtable类中定义为protected保护级别,不允许实例访问吧
      

  4.   

    get{return _Orders.values;}---> get{return _Orders.Values;}请注意大小写否则它就去访问私有变量values了
      

  5.   

    Hashtable的属性Values,对应于私有变量values(Hashtable内置的变量)
      

  6.   

    否则它就去访问私有变量values了
    呵呵,可能
    一般属性的对应的私有变量都是把首字母小写
      

  7.   

    不是可能
    而是肯定是
    你可以用reflector来查看
    private ICollection values;这个是Hashtable定义的values
      

  8.   

    get{return _Orders.values;}
    ~~~~~~~~
    今天学习到
      

  9.   

    前面加个this.  可以避免错误的发生纪律
      

  10.   

    实例化后用this也只能调用公用的
      

  11.   

    不是可能
    而是肯定是
    你可以用reflector来查看
    private ICollection values;这个是Hashtable定义的values