Основы VB.NET Урок 51. Введение в generic
Generic'и, или обобщенные типы, появились только в .NET версии 2.0. До этого таких конструкций в языке VB.NET не было. Они отчасти напоминают шаблоны языка C++.
Generic'и по сути являются обобщенными типами данных. Т. е. при объявлении такого типа мы используем некоторый формальный (не существующий тип) - его мы можем использовать как тип переменных и методов, как тип параметров и т. п. Когда же мы создаем экземпляр generic'а, то мы указываем уже конкретный тип. При этом формальный тип для данного экземпляра generic'а заменяется на этот конкретный тип.
Вот пример generic-класса:
Public Class Class1(Of T)
Private a As T
Function GetValue() As T
Return a
End Function
Sub SetValue(ByVal a As T)
Me.a = a
End Sub
End Class
Как вы видите, тут мы используем несуществующий тип T. При этом наш класс должен быть объявлен именно таким образом:
Public Class Class1(Of T)
...
Как вы видите, формальный тип T мы используем и как тип параметров, методов и переменных класса.
А вот как этот generic-класс можно использовать:
Sub Main()
Dim w As New Class1(Of Integer)
w.SetValue(22)
Console.WriteLine(w.GetValue)
End Sub
Как видно из этого кода, мы вместо формального параметра T используем конкретный тип Integer. Выведет указанный фрагмент, разумеется, 22.
|