构造函数如何重载呀?

lilunlil 2018-12-12 11:10:02

public partial class DatagridViewFrm : Form
{
public DatagridViewFrm(DataTable ttable, bool frmAlone, Panel Pa)
{
DatagridViewFrm(new string[] { }, new DataTable[] { ttable }, frmAlone, Pa);
}



public DatagridViewFrm(string[] radCheckS, DataTable[] ttables, bool frmAlone, Panel Pa)
{
....
}
}

我的效果应该很明显,就是用一个构造函数调用另一个构造函数,
结果提示错误:不可用的成员不能像调用方法一样调用

请高手支招
补充:加上 this,改成this.DatagridViewFrm(new string[] { }, new DataTable[] { ttable }, frmAlone, Pa);也不行。
...全文
385 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lilunlil 2018-12-14
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
通过工作方法过渡 构造函数只不过是做一些初始化工作,并不会改变对象本身
明白了
良朋 2018-12-13
  • 打赏
  • 举报
回复
楼主的写法如果参数一样就成了递归了。
xuzuning 2018-12-12
  • 打赏
  • 举报
回复
通过工作方法过渡
构造函数只不过是做一些初始化工作,并不会改变对象本身
  • 打赏
  • 举报
回复
如果你调用基类的构造函数,那么就是base关键字
  • 打赏
  • 举报
回复
public DatagridViewFrm()
:this(null)
{
}
public DatagridViewFrm(string demo)
{
}
通过this关键字
  • 打赏
  • 举报
回复

public DatagridViewFrm(string[] radCheckS=null, DataTable[] ttables, bool frmAlone, Panel Pa)
这样就能支持两种构造函数了,使用默认值即可。
圣殿骑士18 2018-12-12
  • 打赏
  • 举报
回复
你这是Java的重载方式,c#的方法在2楼
正怒月神 2018-12-12
  • 打赏
  • 举报
回复
构造函数的关键字,就是 this或者base。 调用本类其他构造函数使this. 调用父类构造函数使base.

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧