編譯器錯誤 CS1729
更新:2007 年 11 月
錯誤訊息
'type' 不包含使用 'number' 引數的建構函式。
如果直接或間接叫用 (Invoke) 類別 (Class) 的建構函式 (Constructor),但是編譯器 (Compiler) 找不到任何參數數目相同的建構函式,則會發生這個錯誤。在下列範例中,test 類別沒有使用任何引數的建構函式。因此,它只會有一個未使用任何引數的預設建構函式。因為在產生錯誤的第二行中,衍生類別 (Derived Class) 未宣告它自己的建構函式,所以編譯器會提供預設的建構函式。而該建構函式會叫用基底類別 (Base Class) 中的無參數建構函式。因為基底類別沒有這類建構函式,所以會產生 CS1729。
若要更正這個錯誤
調整建構函式呼叫中的參數數目。
修改類別,提供參數給您必須呼叫的建構函式。
在基底類別中提供無參數建構函式。
範例
下列範例會產生 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
選擇性註解