ステートメントで、 New 制約を満たすために制約されていない型パラメーターを渡すジェネリック型を構築します。
New 制約は、その型パラメーターに渡される型引数が、そこからオブジェクトを作成するコードにアクセス可能なパラメーターのないコンストラクターを公開する必要があることを意味します。 すべての値型にパラメーターのないコンストラクターがありますが、すべての参照型にあるわけではありません。 そのため、 Structure 制約は New 制約を満たしていますが、 Class 制約や、クラスまたはインターフェイスの名前はこの制約を満たしていません。
次のステートメントでは、このエラーが生成される可能性があります。
Public Class c1(Of t As New)
End Class
Public Class c2(Of u)
Public testObject As New c1(Of u)
End Class
クラス c2 が c1からオブジェクトを作成する場合、型パラメーター u は型パラメーター New の t制約を満たしていません。
エラー ID: BC32084
このエラーを解決するには
ジェネリック型に渡される型パラメーターが
StructureまたはNewの制約を満たすことができる場合は、その定義に適切な制約を追加します。Public Class c2(Of u As Structure)型パラメーターが
StructureまたはNewの制約を満たすことができない場合は、ジェネリック型にこれを渡しません。 型引数として他のものを渡す必要があります。
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET