「where T : class, new()」とはどういう意味ですか? 質問する

「where T : class, new()」とはどういう意味ですか? 質問する

where T : class, new()次のコード行の意味を説明していただけますか?

void Add<T>(T item) where T : class, new();

ベストアンサー1

これはジェネリック パラメータに対する制約ですT。これは (参照型) である必要がありclass、パブリックなパラメータなしのデフォルト コンストラクターを持つ必要があります。

つまり、、 、またはその他の(値型)Tにはできません。intfloatdoubleDateTimestruct

stringデフォルトまたはパラメータなしのコンストラクターを持つ限り、 またはその他のカスタム参照型にすることができます。

おすすめ記事