打印本文 打印本文 关闭窗口 关闭窗口
向Visual Basic程序员介绍泛型(一)
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1695  更新时间:2009/4/23 18:59:08  文章录入:mintao  责任编辑:mintao
功能的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] 

打印本文 打印本文 关闭窗口 关闭窗口