準確地說這個代碼:編譯錯誤說在這種情況下base的使用是無效的。爲什麼我不能在繼承中使用BASE
public class UCMComboBoxCellType : FarPoint.Win.Spread.CellType.ComboBoxCellType
{
public UCMComboBoxCellType()
{
base();
this.ListWidth = 0;
}
}
但是爲什麼?我無法弄清楚。
準確地說這個代碼:編譯錯誤說在這種情況下base的使用是無效的。爲什麼我不能在繼承中使用BASE
public class UCMComboBoxCellType : FarPoint.Win.Spread.CellType.ComboBoxCellType
{
public UCMComboBoxCellType()
{
base();
this.ListWidth = 0;
}
}
但是爲什麼?我無法弄清楚。
在C#構造函數連鎖這樣的:
public UCMComboBoxCellType() : base()
{
this.ListWidth = 0;
}
你試過什麼是Java的方式。因爲你不
public class UCMComboBoxCellType : FarPoint.Win.Spread.CellType.ComboBoxCellType
{
public UCMComboBoxCellType() : base()
{
this.ListWidth = 0;
}
}
試試這個。
如果您需要調用基類參數的構造函數,你這樣做,像這樣:
public MyClass(string msg)
: base(msg)
{
...
}
但是在參數的情況下,就沒有必要 - 它被暗示派生構造函數會調用首先是基類構造函數。
:
雖然沒有意義。如果基類具有無參數構造函數,它將隱式調用。 – Joe
謝謝。是的,這是Java :)語法!句法! – Bohn
@Joe:爲什麼?以及我想在我的代碼中使用這個新類而不是之前使用過的ComboBoxCellType類。所以它不以這種方式工作? – Bohn