영어로 읽기

다음을 통해 공유


형식 매개 변수 ‘<typeparametername2>’에 대한 ‘New’ 제약 조건을 만족하려면 형식 매개 변수 ‘<typeparametername1>’에 ‘New’ 제약 조건 또는 ‘Structure’ 제약 조건이 있어야 합니다.

문이 New 제약 조건을 충족하기 위해 제한되지 않은 형식 매개 변수를 전달하는 제네릭 형식을 생성합니다.

New 제약 조건은 해당 형식 매개 변수에 제공된 형식 인수에서 개체를 만드는 코드에 액세스할 수 있는, 매개 변수 없는 생성자를 노출해야 한다는 의미입니다. 모든 값 형식에는 매개 변수가 없는 생성자가 있지만 참조 형식은 그렇지 않습니다. 따라서 Structure 제약 조건은 New 제약 조건을 충족하지만 Class 제약 조건 또는 클래스나 인터페이스 이름은 그렇지 않습니다.

다음 문은 이 오류를 생성할 수 있습니다.

VB
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 에서 형식 매개 변수 Newt제약 조건을 충족하지 않습니다.

오류 ID: BC32084

이 오류를 해결하려면

  • 제네릭 형식으로 전달할 형식 매개 변수가 Structure 또는 New 제약 조건을 충족할 수 있는 경우 적절한 제약 조건을 해당 정의에 추가합니다.

    VB
    Public Class c2(Of u As Structure)
    
  • 형식 매개 변수에서 Structure 또는 New 제약 조건을 충족할 수 없는 경우 제네릭 형식으로 전달하지 마세요. 다른 형식 매개 변수를 형식 인수로 전달해야 합니다.

참고 항목