共用方式為


編譯器錯誤 CS1729

更新:2007 年 11 月

錯誤訊息

'type' 不包含使用 'number' 引數的建構函式。

如果直接或間接叫用 (Invoke) 類別 (Class) 的建構函式 (Constructor),但是編譯器 (Compiler) 找不到任何參數數目相同的建構函式,則會發生這個錯誤。在下列範例中,test 類別沒有使用任何引數的建構函式。因此,它只會有一個未使用任何引數的預設建構函式。因為在產生錯誤的第二行中,衍生類別 (Derived Class) 未宣告它自己的建構函式,所以編譯器會提供預設的建構函式。而該建構函式會叫用基底類別 (Base Class) 中的無參數建構函式。因為基底類別沒有這類建構函式,所以會產生 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

選擇性註解