C#“不包含带'1'参数的构造函数”

时间:2011-01-27 20:52:29

标签: c#

我之前发布了类似的内容并且它有所帮助,但之后我遇到了问题,无法做任何事情。所以我回来了!

Time time1;
private void btnNewTime_Click(object sender, EventArgs e)
        {
            Time time1 = new Time(Convert.ToInt32(txtHour.Text.Trim(), Convert.ToInt32(txtMin.Text)));


        }

并在时间班:

        public Time()
        {
            hour = 12;
            minute = 00;
        }//end of Time

        public Time(int Hour, int Minute)
        {
            hour = Hour;
            minute = Minute;
        }//end of Time

假设进入参数化构造函数(第二个)但我得到错误:

“不包含带'1'参数的构造函数”

5 个答案:

答案 0 :(得分:7)

这是一个错字,是一个错位的括号。

Time time1 = new Time(Convert.ToInt32(txtHour.Text.Trim()), Convert.ToInt32(txtMin.Text));

答案 1 :(得分:4)

Time time1 = new Time
    (
      Convert.ToInt32(txtHour.Text.Trim()), 
      Convert.ToInt32(txtMin.Text)
    );

答案 2 :(得分:2)

看起来你在第一次修剪后错过了一个括号来关闭Convert.ToInt32(也失去了最后一个最后一个括号)。

而且,Time的第一个结构可以是:

public Time()
  :this(12,0)
{
}

或者,如果你有VS2010 / .NET4,现在可以使用optional parameters

public Time(int Hour = 12, int Minute = 0)
{
  hour = Hour;
  minute = Minute;
}

答案 3 :(得分:2)

您只为构造函数提供了1个参数:

Time time1 = new Time(Convert.ToInt32(txtHour.Text.Trim(), Convert.ToInt32(txtMin.Text)));

你需要关闭第二组括号的第一个参数:

Time time1 = new Time(Convert.ToInt32(txtHour.Text.Trim()), Convert.ToInt32(txtMin.Text));

答案 4 :(得分:1)

这是一个错字:

Time time1 = new Time(Convert.ToInt32(txtHour.Text.Trim()), Convert.ToInt32(txtMin.Text));