在《The C++ Programming Language》一书中,Bjarne Stroustrop讨论了模板方法在C语言中的伪实现-通过使用预处理和宏来模拟。Stroustrop创建了这种灵活运用C语言的模板和宏的能力,它使得模板成为用C语言创建类(现在的C++)的相当成熟的一部分。另外的优点是,模板是由编译器进行类型检查的,而不是简单地通过预处理器进行文本替换。
Module Module1 Sub Main() Dim I As Integer = 5 Dim J As Integer = 7 Swap(Of Integer)(I, J) Console.WriteLine("I = " & I) Console.WriteLine("J = " & J) Dim S As String = "Paul" Dim R As String = "Lori" Swap(Of String)(S, R) Console.WriteLine("S = " & S) Console.WriteLine("R = " & R) Console.ReadLine() End Sub
Public Sub Swap(Of T)(ByRef a As T, ByRef b As T) Dim temp As T temp = a a = b b = temp End Sub End Module
Module Module1 Sub Main() Dim BrokenBones As TypedCollection(Of OrthoInjury) = New TypedCollection(Of OrthoInjury) BrokenBones.Add(New OrthoInjury(True,"Broken Right Clavicle", "Vicodin; Heals n 8 to 12 weeks")) BrokenBones.Add(New OrthoInjury(True, "Fractured Posterior Rib #5", "Heals in 6 to 8 weeks")) BrokenBones.Add(New OrthoInjury(True, "Fr