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


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

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

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

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

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

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

  2. Создайте объект обычным способом и добавьте (Of type) сразу после имени класса.

    В следующем примере используется тот же класс (Queue) для создания двух объектов очередей, содержащих элементы различных типов данных. В этом примере добавляются элементы в конец каждой очереди, а затем удаляются и отображаются элементы из начала каждой очереди.

    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
    

См. также

Задачи

Практическое руководство. Определение класса, реализующего одинаковую функциональность для различных типов данных (Visual Basic)

Ссылки

Предложение Of (Visual Basic)

Оператор Imports (пространство имен .NET и тип)

Основные понятия

Типы данных в Visual Basic

Универсальные типы в Visual Basic (Visual Basic)

Независимость от языка и независимые от языка компоненты

Другие ресурсы

Итераторы (C# и Visual Basic)