Parametr type '<typeparametername1>' musí mít buď omezení New, nebo omezení Structure, aby vyhovovalo omezení New pro parametr type '<typeparametername2>'.

Příkaz vytvoří obecný typ, který předává parametr typu, který není omezen tak, aby vyhovoval New omezení.

Omezení New znamená, že argument typu zadaný pro tento parametr typu musí vystavit konstruktor bez parametrů přístupný pro kód, který z něj vytváří objekty. Všechny typy hodnot mají konstruktory bez parametrů, ale ne všechny odkazové typy. Structure Proto omezení splňuje New omezení, ale Class omezení nebo název třídy nebo rozhraní není.

Tato chyba může vygenerovat následující příkazy.

Public Class c1(Of t As New)
End Class
Public Class c2(Of u)
    Public testObject As New c1(Of u)
End Class

Když třída c2 vytvoří objekt z c1, typ parametr u nevyhovuje New omezení u parametru ttypu .

ID chyby: BC32084

Oprava této chyby

  • Pokud parametr typu, který se má předat obecnému typu, může splňovat Structure omezení nebo New omezení, přidejte příslušné omezení do své definice.

    Public Class c2(Of u As Structure)
    
  • Pokud parametr typu nemůže splňovat Structure omezení, New nepředávejte ho obecnému typu. Jako argument typu musíte předat něco jiného.

Viz také