방법: 제네릭 클래스 사용(Visual Basic)

형식 매개 변수 를 사용하는 클래스를 제네릭 클래스라고 합니다. 제네릭 클래스를 사용 중인 경우 이러한 각 매개 변수에 대해 형식 인수 를 제공하여, 여기에서 생성된 클래스 를 만들 수 있습니다. 그런 다음 생성된 클래스 형식의 변수를 선언하고, 생성된 클래스의 인스턴스를 만들어 해당 변수에 할당할 수 있습니다.

클래스 이외에도 제네릭 구조체, 인터페이스, 프로시저 및 대리자도 정의할 수 있습니다.

다음 프로시저에서는 .NET Framework에서 정의한 제네릭 클래스를 가져오고 여기에서 인스턴스를 만듭니다.

형식 매개 변수를 가져오는 클래스를 사용하려면

  1. 소스 파일의 시작 부분에 Imports 문(.NET 네임스페이스 및 형식)을 포함하여 System.Collections.Generic 네임스페이스를 가져옵니다. 이렇게 하면 System.Collections.Queue 같은 다른 큐 클래스와 차별화하기 위해 정규화하지 않고도 System.Collections.Generic.Queue<T> 클래스를 참조할 수 있습니다.

  2. 일반적인 방법으로 개체를 만들지만 클래스 이름 바로 뒤에 (Of type) 을 추가합니다.

    다음 예에서는 동일한 클래스(System.Collections.Generic.Queue<T>)를 사용하여, 서로 다른 데이터 형식의 항목을 포함하는 두 개의 큐 개체를 만듭니다. 각 큐의 끝에 항목을 추가한 다음 각 큐의 앞부분부터 항목을 제거하고 표시합니다.

    Public Sub usequeue()
      Dim queueDouble As New System.Collections.Generic.Queue(Of Double)
      Dim queueString As New System.Collections.Generic.Queue(Of String)
      queueDouble.Enqueue(1.1)
      queueDouble.Enqueue(2.2)
      queueDouble.Enqueue(3.3)
      queueDouble.Enqueue(4.4)
      queueString.Enqueue("First string of three")
      queueString.Enqueue("Second string of three")
      queueString.Enqueue("Third string of three")
      Dim s As String = "Queue of Double items (reported length " &
          CStr(queueDouble.Count) & "):"
      For i As Integer = 1 To queueDouble.Count
        s &= vbCrLf & CStr(queueDouble.Dequeue())
      Next i
      s &= vbCrLf & "Queue of String items (reported length " &
          CStr(queueString.Count) & "):"
      For i As Integer = 1 To queueString.Count
        s &= vbCrLf & queueString.Dequeue()
      Next i
      MsgBox(s)
    End Sub
    

참고 항목