代码中的两个HashTable的New就没有用了。不用New了。

解决方案 »

  1.   

    同意楼上,你采用构造器赋值,new已经多余,而且声明即new的用法比较特别
    定义时初始化 ,一般将其放入构造器,至于为什么这么做,我也不太清楚.
      

  2.   

    class   ThreadFtp 
            { 
                    private   Hashtable   _myFtp;
                    public Hashtable myFtp
                    {
                        get{return _myFtp;} set{_myFtp=value;}
                     }
                    private   Hashtable   _AllFileNames;
                    public Hashtable AllFileNames
                    {
                       get{return _AllFileNames;}set{_AllFileNames =value;} 
                    }
                    private   string   _No;
                    public string No
                    {
                        get{return _No;}set{_No=value;}
                     } 
                    public   ThreadFtp(Hashtable   myftp,   Hashtable   allfilename,   string   no) 
                    { 
                            this._myFtp   =   myftp; 
                            this._AllFileNames   =   allfilename; 
                            this._No   =   no; 
                    } 
            } 
    这样应该是可以的
      

  3.   

    同意 3 楼,那两个 new 编译成 IL 代码后,肯定放在构造函数里,而且那两个 new 执行顺序靠后的话,还会把参数值给覆盖掉,造成错误。