做基本数据设定窗体,本以为实现这个小小的窗体应该是最简单的吧!不就是单击修改按钮,进行修改;然后单击更新按钮来对数据基本设定进行更新吗?可是当一出手就遇到了问题,数据表中的数据该怎么显示在文本框中呢?这真的一下子难住了自己!不过遇到问题总会有解决的办法。
既然是让实体一个一个返回到文本框中来,那么直接调用实体层应该就可以吧!这样不就可以完美的实现了吗?可是这样最大的缺点则是:以后遇到的控件与数据调用的窗体比比即是,这样不就又重蹈覆辙实现了代码的重复吗?很严重的违背了为了把重复的部分提取出来,方便以后的调用,所以用到了泛型集合。
那么首先分析一下什么情况下使用泛型集合呢?在基本数据设定中,我们想要实现的功能就是将数据表中的信息转换成为一个一个的实体,然后添加到文本框中,所以我们就可以将数据表中的一个一个的实体作为参数传递给泛型类型,进而得到自己想要的。
由于List是ArrayList的泛型等效类,属于动态数组,正好可以满足自己的需求。我们可以讲类型看做一个模板,这样模板中的变体部分就可以被传来的 类名称所代替,从而得到一个新的定义。
在此之前对于实体层的建立是必不可少的,因为创建集合的基础是要有类,然后才能将对象放入集合中。
建立的EntityModule:
- '********************************
- '说明:泛型集合,完成datatable类型转化为实体类
- '作者:霍亚静
- '小组:XX
- '创建日期:2014-07-20 22:28:21
- '版本号:V1.00
- '********************************
- Imports System.Collections.Generic '增加泛型的命名空间,用来管理泛型集合
- Imports System.Reflection '加入反射,为了引用 PropertyInfo
- Public Class EntityModule
- '将datatable转化为泛型集合
- Public Shared Function converToList(Of T As { New})(ByVal dt As DataTable) As IList(Of T)
- Dim myList As New List(Of T) '定义最终返回的集合
- Dim myType