新しいインスタンスへの一般的な型付けは何を達成しますか?

新しいインスタンスへの一般的な型付けは何を達成しますか? image 2 C

新しいインスタンスへの一般的な型付けは何を達成しますか?

タグ:


質問

私は誰かがC#でこれをやったことに気づいた – new()

public class MyClass<T> where T: new(){

//etc

新しいインスタンスへの一般的な型付けは何を達成しますか? image 1

}

これは何を達成するのですか?

ベストアンサー

これにより、ジェネリックMyClass<T>が使用可能なパラメータレスコンストラクタを持つTインスタンスでのみ動作するようになります。これにより、型内で次の式を安全に使用できます

new T()

新しいインスタンスへの一般的な型付けは何を達成しますか? image 0

new制約がなければ、CLRはタイプTが適用可能なコンストラクタを持っていることを確認できなかったため、これは許可されません。





source
一般的なDIVのブートストラップナビゲーションのように崩壊を達成する方法は?
一般的な方法とは何ですか?
一般的にイテレータとは何ですか?
一般的なショートカットとは何ですか?
SAPとは何ですか?一般的なアプリケーションは何ですか?
TDDに関する一般的な誤解は何ですか?
Clojureでの一般的なテストとは何ですか?
Hashtableの一般的なバージョンは何ですか?
デッドロックの一般的な理由は何ですか?
一般的なフォーカススタッキングアルゴリズムとは何ですか?
Rating