问题描述
classThreadFtp{privateHashtablemyFtp=newHashtable();privateHashtableAllFileNames=newHashtable();privatestringNo;publicThreadFtp(Hashtablemyftp,Hashtableallfilename,stringno){this.myFtp=myftp;this.AllFileNames=allfilename;this.No=no;}}这个定义有没有问题?
解决方案
解决方案二:
测试发现,可以
解决方案三:
jf
解决方案四:
代码中的两个HashTable的New就没有用了。不用New了。
解决方案五:
同意楼上,你采用构造器赋值,new已经多余,而且声明即new的用法比较特别定义时初始化,一般将其放入构造器,至于为什么这么做,我也不太清楚.
解决方案六:
嗯嗯,同意3樓
解决方案七:
classThreadFtp{privateHashtable_myFtp;publicHashtablemyFtp{get{return_myFtp;}set{_myFtp=value;}}privateHashtable_AllFileNames;publicHashtableAllFileNames{get{return_AllFileNames;}set{_AllFileNames=value;}}privatestring_No;publicstringNo{get{return_No;}set{_No=value;}}publicThreadFtp(Hashtablemyftp,Hashtableallfilename,stringno){this._myFtp=myftp;this._AllFileNames=allfilename;this._No=no;}}这样应该是可以的
解决方案八:
同意3楼,那两个new编译成IL代码后,肯定放在构造函数里,而且那两个new执行顺序靠后的话,还会把参数值给覆盖掉,造成错误。
解决方案九:
谢谢
解决方案十:
同意三楼