2011-10-18 15 views
0

まさにこのコード:コンパイルエラーは、このコンテキストではbaseの使用が無効であると言います。なぜ私は継承でBASEを使用できません

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

なぜですか?私は理解できません。

答えて

8

は、C#では、あなたは次のようにコンストラクタをチェーン:あなたは試してみました何

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

がJavaの方法です。

+0

しかし、ポイントはありません。基本クラスにパラメータのないコンストラクタがある場合、それは暗黙的に呼び出されます。ありがとう。 – Joe

+0

ありがとう。ええ、それはJavaだった:)構文!構文! – Bohn

+0

@Joe:なぜですか?よく私は前に使ったComboBoxCellTypeクラスではなく、この新しいクラスを自分のコードで使いたいと思っています。このように動作しませんか? – Bohn

1

これを試してみてください:

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

そうでないので。

あなたはパラメータ化基底クラスのコンストラクタを呼び出すために必要な場合、あなたはそのようにそれを行うだろう:

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

が、パラメータのない場合には、必要はありません - 派生コンストラクタが呼び出されますことを暗示しています最初に基本クラスのコンストラクタです。

関連する問題