2012-03-14 3 views
63

C#ではジェネリッククラスのデフォルトのコンストラクタを実装できませんか?ジェネリッククラスのデフォルトコンストラクタの構文は何ですか?

そうでない場合、以下のコードがコンパイルされないのはなぜですか? (私が<T>を取り除いてもそれがコンパイルされます)

ジェネリッククラスのデフォルトコンストラクタを定義する正しい方法は何ですか?

public class Cell<T> 
{ 
    public Cell<T>() 
    { 
    } 
} 

コンパイル時エラー:エラー1無効なトークン「(」クラス、構造体、またはインターフェイスメンバー宣言

答えて

109

にあなたは、コンストラクタ内の型パラメータを提供していないか、あなたがしなければならない。これはあります。 。

public class Cell<T> 
{ 
    public Cell() 
    { 
    } 
} 
+1

+1、それはすべてそこにあります:) –

3

をそれを行うと、あなたは、プロパティとしてタイプが必要な場合:

public class Cell<T> 
{ 
    public Cell() 
    { 
     TheType = typeof(T); 
    } 

    public Type TheType { get;} 
} 
関連する問題