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


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

Обновлен: Ноябрь 2007

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

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

Следующая процедура взаимодействует с универсальным классом, определенным в .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
    

См. также

Задачи

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

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

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

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

Спецификация CLS

Ссылки

Of

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