为什么我不能在继承中使用BASE

时间:2011-10-18 17:15:40

标签: c# windows inheritance

正是这段代码:编译错误说在这种情况下使用base无效。

public class UCMComboBoxCellType : FarPoint.Win.Spread.CellType.ComboBoxCellType
{
    public UCMComboBoxCellType()
    {
        base();
        this.ListWidth = 0;
    }
}

但为什么呢?我想不出来。

3 个答案:

答案 0 :(得分:8)

在C#中,链式构造函数如下:

public UCMComboBoxCellType() : base()
{        
    this.ListWidth = 0;
}

您尝试的是Java方式。

答案 1 :(得分:2)

因为你没有。

如果你需要调用参数化的基类构造函数,你可以这样做:

public MyClass(string msg)
    : base(msg)
{
...
}

但是在无参数的情况下,没有必要 - 暗示派生的构造函数将首先调用基类构造函数。

答案 2 :(得分:1)

试试这个:

public class UCMComboBoxCellType : FarPoint.Win.Spread.CellType.ComboBoxCellType
{
    public UCMComboBoxCellType() : base()
    {
        this.ListWidth = 0;
    }
}