1. ホーム
  2. c#

[解決済み】「where T : class, new()」はどういう意味?

2022-04-15 10:02:58

質問

を説明できますか? where T : class, new() は、次の行のコードを意味するのでしょうか?

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

解決方法は?

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

つまり T にはできません。 int , float , double , DateTime またはその他の struct (値型)です。

である可能性があります。 string デフォルトまたはパラメータなしのコンストラクタを持つ限り、他の任意のカスタム参照タイプも使用できます。