ht 要在 Check()重新实例的。

解决方案 »

  1.   

    >>>构造函数 不能静态  静态了就不叫构造函数了可以的public class Test{
      private Hashtable ht;
     static Test()
     {
           ht = new Hashtable();
           ht.Add("a","x");
     }
     public static object Check(){ return ht["a"];
    }
    see
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfstaticconstructors.asp
      

  2.   

    changeprivate Hashtable ht;
    ===>
    private static Hashtable ht;
      

  3.   

    思归老大
    这个static Test里面,不能ht = new Hashtable()吧
    这个Hashtable是实例的,不是static的
      

  4.   

    晕,呵呵
    没有看到 change
      

  5.   

    public static Check(){
    //初始化ht
     return ht["a"]
    }
      

  6.   

    思归说的不错,不过在你的例子中
    private Hashtable ht;
    还是要改成
    private static Hashtable ht;
    静态的Check() 只能调静态的ht。
      

  7.   

    public class Test{
        public Test(){}
        public static Test()  //静态构造函数,只会在Test第一次执行时有用
       {
            ht.Add("a","a");        //赋值   
        }
        private static Hashtable ht; //将ht也定义成静态函数
        public static Check(){
            return ht["a"]
        }
    }
      

  8.   

    public class Test{
     private static Hashtable ht;
     public Test(){
      //非静态成员的初化;
     }
     public static Test(){
      //此初始化ht;
     }
      

  9.   

    静态构造函数主要是用来初始化readonly static字段的