更新:2007 年 11 月

错误消息

“type”不包含采用“number”参数的构造函数。

在直接或间接调用类的构造函数时,如果编译器找不到具有相同数量参数的任意构造函数,则会发生此错误。在下面的示例中,test 类没有采用任意参数的构造函数。因此,该类只有不含参数的默认构造函数。由于在生成该错误的第二行上,派生类没有声明其自己的构造函数,因此编译器将提供默认构造函数。该构造函数在基类中调用无参数构造函数。由于基类没有此类构造函数,因此会生成 CS1729。

更正此错误

  1. 调整构造函数调用中的参数数量。

  2. 修改相应的类,提供包含必须调用的参数的构造函数。

  3. 在基类中提供无参数构造函数。

示例

下面的示例生成 CS1729:

 复制代码
// cs1729.cs
class Test
{
    static int Main()
    {
        Test test = new Test(2); //CS1729
        return 1;
    }
}
public class Parent
{
    public Parent(int i) { }
}
public class Child : Parent { } // CS1729

可选注释