私はジェネリッククラスと制約を扱っています。以下は私のクラスです。
public class GenericList<T> where T : new()
{
private Node head;
// constructor
public GenericList()
{
head = null;
}
}
整数でオブジェクトを作成すると正常に動作します
GenericList<int> list = new GenericList<int>();
しかし、文字列を試してみると、次のコンパイル時エラーが発生します。
GenericList<string> list1 = new GenericList<string>();
「string」は、ジェネリック型またはメソッド「GenericTest.GenericList」でパラメーター「T」として使用するために、パブリックパラメーターなしのコンストラクターを持つ非抽象型である必要があります。また、カスタムクラスのように参照パラメーターを渡した場合も正常に動作します。
文字列の問題は何ですか?