日期:2014-05-17  浏览次数:20774 次

构造函数问题 求高手
 public frmMain(DataTable _dt, string _projectName)
        {
        
            dtInfo = _dt;
            this.projectName = _projectName;    
        }
 frmMain fm = new frmMain(dt, "2123123");
            fm.TopMost = true;
            fm.Show();

怎么不用构造函数方法写出来。

------解决方案--------------------
 public frmMain()
        {
        }
public void loadData(DataTable _dt, string _projectName)
        {
            dtInfo = _dt;
            this.projectName = _projectName;    
        }

 frmMain fm = new frmMain();
            fm.loadData(dt, "2123123");
            fm.TopMost = true;
            fm.Show();

写个方法,自己调用就可以了。
------解决方案--------------------
不用构造方法?
你只要new就得调用构造函数,除非你定义一个静态方法,这样外面就可以不用new frmMain,但是也得间接调用构造函数

如:
 public frmMain(DataTable _dt, string _projectName)
         {
         
             dtInfo = _dt;
             this.projectName = _projectName;    
         }
public static void ShowFunc(DataTable _dt, string _projectName)
{
       frmMain fm = new frmMain(_dt, _projectName);
       fm.TopMost = true;
       fm.Show();
}

  frmMain.ShowFunc(dt, "2123123");