功能的Dictionary、List、Queue、SortedDictionary和Stack类。下面btnConsumeGenerics_Click事件中的代码提供了一个使用泛型字典的例子:
‘ Visual Basic .NET 8.0 代码
Private Sub btnConsumeGenerics_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConsumeGenerics.Click
Dim employees As New Dictionary(Of String, Employee)
Dim emp As Employee
emp = New Employee
emp.SSN = "111-11-1111"
emp.FirstName = "Scott"
emp.LastName = "Swigart"
emp.Salary = 50000
employees.Add(emp.SSN, emp)
Dim emp2 As Employee
emp2 = employees.Item("111-11-1111")
Dim s As String
''''s = employees.Item("111-11-1111") '''' This is now a syntax error
employees.Item("111-11-1111").LastName = "SomeoneElse"
End Sub
深入查看这段代码,你会注意到一些泛型技术中相当有趣的东西。首先泛型的类型是用这样的方法具体化的:
Dim employees As New Dictionary(Of String, Employee)
这可以翻译成“创建一个Dictionary,它的关键字是String类型,值是Employee类型”。任何时候试图储存一个不是Employee类型的对象都将导致编译错误。有必要重申,如果使用了泛型,你再用错类型得到的将是编译错误而不是运行时错误。事实上下面这段代码除非被注释掉,否则不会通过编译,就如同编译器知道Dictionary是专用于储存Employee对象,而不是String:
''''s = employees.Item("111-11-1111") '''' This is now a syntax error
更进一步,你现在能获得全面的能感知支持。如果你输入“employees.Item(“111-11-1111”).”,将自动弹出Employee类型的成员,这说明Visual Studio知道Dictionary现在是专门储存Employee类的集合。
(未完,接《向Visual Basic程序员介绍泛型(二)》)
上一页 [1] [2] [VB.NET程序]Visual Basic 6 逆向工程与反逆向工程 (2) [VB.NET程序]Visual Basic 6 逆向工程与反逆向工程 (1) [VB.NET程序]用Visual Basic创建复杂窗体 [VB.NET程序]Visual Basic的类对于面向对象的支持 [VB.NET程序]如何在Visual Basic 6.0 中连接加密的Access数据库 [VB.NET程序]使用Visual Basic操纵XML文档 [VB.NET程序]Visual Basic.Net连各种数据库的几种方法 [VB.NET程序]Visual Basic .NET资源工具包 [VB.NET程序]效率提高两倍!——Visual Basic.net 新力量 [VB.NET程序]复杂和高效——Visual Basic.net新力量
|