【问题标题】:Constructor that takes 1 argument接受 1 个参数的构造函数
【发布时间】:2016-03-23 10:01:22
【问题描述】:

我有一个带有 2 个参数的构造函数,虽然我不知道怎么写。

// Home.CS:
var menu = new menu (dt.Rows[0][0].Tostring());

上面代码中的第二个参数不知道怎么写

// Menu.cs
public Menu (string role, string Millitary)
initializeComponet();
Label1.Text = Role;
Label2.Text = Millitary;

【问题讨论】:

  • 任何帮助都会很好
  • 您期望的最终结果是什么? Military 应该为空吗?
  • 语法错误太多。考虑复制/粘贴真实代码。
  • var menu = new Menu(dt.Rows[0][0].Tostring(), string.Empty); 还将Millitary 重命名为Military
  • 查看构造函数重载:stackoverflow.com/questions/5555715/…。传入一个空字符串或 null 是一个相当粗糙的 API。

标签: c#


【解决方案1】:

如果不需要第二个参数,那么你可以传递任何值

var menu = new Menu (dt.Rows[0][0].Tostring(),string.Empty);

或者如果两者的值相同,则将相同的参数传递两次,就像您在评论中提到的那样

var menu = new Menu (dt.Rows[0][0].Tostring(),dt.Rows[0][0].Tostring());

【讨论】:

  • 必填,同第一个参数
  • 那为什么不复制第一个参数呢?
  • var menu = new Menu (dt.Rows[0][0].Tostring(),dt.Rows[0][0].Tostring());你期待这个吗?
  • 非常感谢您的帮助
【解决方案2】:

在 () 一侧,因此如果只需要一个,它将是 (FirstArgument),如果需要 2,则它的 (FirstArgument , SecondArgument) 等使用“,”作为分隔符

【讨论】:

  • 非常感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-23
  • 2016-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-05
  • 1970-01-01
相关资源
最近更新 更多