描述数据列的类定义
定义ColumnCollection
下一篇,我们终于可以定义Table了
1
/**////<summary>
2
///描述数据列
3
///</summary>
4
publicclassColumn
5

{
6
7
8
publicColumn(stringname,Typetype)
9
:this(name,type,null)
10

{
11
12
}
13
14
publicColumn(stringname,Typetype,objectdefaultValue)
15

{
16
ColumnName=name;
17
DataType=type;
18
DefaultValue=defaultValue;
19
}
20
21
/**////<summary>
22
///获取或设置列的名称
23
///</summary>
24
publicreadonlystringColumnName;
25
/**////<summary>
26
///获取或设置列的数据类型
27
///</summary>
28
publicreadonlySystem.TypeDataType;
29
/**////<summary>
30
///获取或设置列的默认值
31
///</summary>
32
publicobjectDefaultValue=null;
33
34
35
}

/**////<summary>2
///描述数据列3
///</summary>4
publicclassColumn5


{6

7

8
publicColumn(stringname,Typetype)9
:this(name,type,null)10


{11

12
}13

14
publicColumn(stringname,Typetype,objectdefaultValue)15


{16
ColumnName=name;17
DataType=type;18
DefaultValue=defaultValue;19
}20

21

/**////<summary>22
///获取或设置列的名称23
///</summary>24
publicreadonlystringColumnName;25

/**////<summary>26
///获取或设置列的数据类型27
///</summary>28
publicreadonlySystem.TypeDataType;29

/**////<summary>30
///获取或设置列的默认值31
///</summary>32
publicobjectDefaultValue=null;33

34

35
}
定义ColumnCollection
1
/**////<summary>
2
///描述或设置列的集合
3
///</summary>
4
publicclassColumnCollection:System.Collections.CollectionBase
5

{
6
/**////<summary>
7
///设置或获取指定的列
8
///</summary>
9
///<paramname="index"></param>
10
///<returns></returns>
11
publicColumnthis[intindex]
12

{
13
get
14

{
15
return(Column)this.InnerList[index];
16
}
17
set
18

{
19
this.InnerList[index]=value;
20
}
21
}
22
23
/**////<summary>
24
///设置或获取指定的列
25
///</summary>
26
///<paramname="index"></param>
27
///<returns></returns>
28
publicColumnthis[stringcolumnName]
29

{
30
get
31

{
32
return(Column)this[this.IndexOf(columnName)];
33
}
34
set
35

{
36
this[this.IndexOf(columnName)]=value;
37
}
38
}
39
40
privateSystem.Collections.ArrayListcolNames=newSystem.Collections.ArrayList();
41
42
/**////<summary>
43
///添加一个列
44
///</summary>
45
///<paramname="column">列的实例</param>
46
publicvoidAdd(Columncolumn)
47

{
48
if(!colNames.Contains(column.ColumnName))
49

{
50
this.InnerList.Add(column);
51
colNames.Add(column.ColumnName);
52
}
53
54
}
55
56
/**////<summary>
57
///添加一个列
58
///</summary>
59
///<paramname="name">列的名称</param>
60
///<paramname="type">列的类型</param>
61
publicvoidAdd(stringname,Typetype,objectdefaultValue)
62

{
63
this.Add(newColumn(name,type,defaultValue));
64
}
65
66
/**////<summary>
67
///返回列的名称是否包含在集合中
68
///</summary>
69
///<paramname="columnName">列的名称</param>
70
///<returns>如果已经包含,则返回true,否则为false</returns>
71
publicboolContains(stringcolumnName)
72

{
73
returncolNames.Contains(colNames);
74
}
75
76
/**////<summary>
77
///返回列的位置
78
///</summary>
79
///<paramname="column">列的实例</param>
80
///<returns>如果没有包含则返回-1,否则从0开始的索引</returns>
81
publicintIndexOf(Columncolumn)
82

{
83
returnthis.IndexOf(column.ColumnName);
84
}
85
86
/**////<summary>
87
///返回列的位置
88
///</summary>
89
///<paramname="column">列的实例</param>
90
///<returns>如果没有包含则返回-1,否则从0开始的索引</returns>
91
publicintIndexOf(stringcolumnName)
92

{
93
returncolNames.IndexOf(columnName);
94
}
95
}

/**////<summary>2
///描述或设置列的集合3
///</summary>4
publicclassColumnCollection:System.Collections.CollectionBase5


{6

/**////<summary>7
///设置或获取指定的列8
///</summary>9
///<paramname="index"></param>10
///<returns></returns>11
publicColumnthis[intindex]12


{13
get14


{15
return(Column)this.InnerList[index];16
}17
set18


{19
this.InnerList[index]=value;20
}21
}22

23

/**////<summary>24
///设置或获取指定的列25
///</summary>26
///<paramname="index"></param>27
///<returns></returns>28
publicColumnthis[stringcolumnName]29


{30
get31


{32
return(Column)this[this.IndexOf(columnName)];33
}34
set35


{36
this[this.IndexOf(columnName)]=value;37
}38
}39

40
privateSystem.Collections.ArrayListcolNames=newSystem.Collections.ArrayList();41

42

/**////<summary>43
///添加一个列44
///</summary>45
///<paramname="column">列的实例</param>46
publicvoidAdd(Columncolumn)47


{48
if(!colNames.Contains(column.ColumnName))49


{50
this.InnerList.Add(column);51
colNames.Add(column.ColumnName);52
}53

54
}55

56

/**////<summary>57
///添加一个列58
///</summary>59
///<paramname="name">列的名称</param>60
///<paramname="type">列的类型</param>61
publicvoidAdd(stringname,Typetype,objectdefaultValue)62


{63
this.Add(newColumn(name,type,defaultValue));64
}65

66

/**////<summary>67
///返回列的名称是否包含在集合中68
///</summary>69
///<paramname="columnName">列的名称</param>70
///<returns>如果已经包含,则返回true,否则为false</returns>71
publicboolContains(stringcolumnName)72


{73
returncolNames.Contains(colNames);74
}75

76

/**////<summary>77
///返回列的位置78
///</summary>79
///<paramname="column">列的实例</param>80
///<returns>如果没有包含则返回-1,否则从0开始的索引</returns>81
publicintIndexOf(Columncolumn)82


{83
returnthis.IndexOf(column.ColumnName);84
}85

86

/**////<summary>87
///返回列的位置88
///</summary>89
///<paramname="column">列的实例</param>90
///<returns>如果没有包含则返回-1,否则从0开始的索引</returns>91
publicintIndexOf(stringcolumnName)92


{93
returncolNames.IndexOf(columnName);94
}95
}
下一篇,我们终于可以定义Table了
2753

被折叠的 条评论
为什么被折叠?



