Поделиться через


Практическое руководство. Использование универсального класса (Visual Basic)

Класс, принимаюющий параметры типа , называется универсальным классом. При использовании универсального класса можно создать созданный класс из него, указав аргумент типа для каждого из этих параметров. Затем можно объявить переменную созданного типа класса, и можно создать экземпляр созданного класса и назначить его этой переменной.

Помимо классов, можно определять и использовать универсальные структуры, интерфейсы, процедуры и делегаты.

Следующая процедура принимает универсальный класс, определенный в .NET Framework, и создает экземпляр из него.

Использование класса, принимающего параметр типа

  1. В начале исходного файла добавьте инструкцию Imports (пространство имен и тип .NET) для импорта System.Collections.Generic пространства имен. Это позволяет ссылаться на класс System.Collections.Generic.Queue<T> без необходимости его полной квалификации, чтобы отличить его от других классов очередей, таких как System.Collections.Queue.

  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
    

См. также