これらの2つの記述は同等ですか?ジェネリックに関する初心者の質問
Public Class Class2(Of X As Class1)
Public Class Class2(Of X As {Class1})
「新」とは何ですか?
Public Class Class2(Of X As {Class1, New})
これらの2つの記述は同等ですか?ジェネリックに関する初心者の質問
Public Class Class2(Of X As Class1)
Public Class Class2(Of X As {Class1})
「新」とは何ですか?
Public Class Class2(Of X As {Class1, New})
最初の2つのステートメントは同等です。中括弧は、VB.NETで複数の汎用制約を使用する方法です。あなたの場合、括弧があるにもかかわらず、ただ一つの制約があります。
キーワードT
にパラメータを使用しないコンストラクタがあることを保証するためのキーワードです。したがって、2番目の定義では、T
がClass1
から継承されており、パラメータのないコンストラクタがあることが保証されています。
感謝を。異なる署名を持つコンストラクタを要求する制約を作成できますか?たとえば、パブリッククラスClass2(Of X As {Class1、New(yは整数)})。私はこれでエラーが発生します.... – ChadD
@Velika - いいえ、それは不可能です。 –