528c6d8d87e0b76fb29107ca8eef0879d843cd88
[mono.git] / mcs / class / System.Web / System.Web.UI.WebControls / DataKeyCollection.cs
1 /**\r
2  * Namespace: System.Web.UI.WebControls\r
3  * Class:     DataKeyCollection\r
4  * \r
5  * Author:  Gaurav Vaish\r
6  * Maintainer: gvaish@iitk.ac.in\r
7  * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>\r
8  * Implementation: yes\r
9  * Status:  100%\r
10  * \r
11  * (C) Gaurav Vaish (2002)\r
12  */\r
13 \r
14 using System;\r
15 using System.Web;\r
16 using System.Web.UI;\r
17 \r
18 namespace System.Web.UI.WebControls\r
19 {\r
20         public sealed class DataKeyCollection : ICollection, IEnumerable\r
21         {\r
22                 private ArrayList keys;\r
23                 \r
24                 public DataKeyCollection(ArrayList keys)\r
25                 {\r
26                         this.keys = keys;\r
27                 }\r
28                 \r
29                 public int Count\r
30                 {\r
31                         get\r
32                         {\r
33                                 return keys.Count;\r
34                         }\r
35                 }\r
36                 \r
37                 public bool IsReadOnly\r
38                 {\r
39                         get\r
40                         {\r
41                                 return false;\r
42                         }\r
43                 }\r
44                 \r
45                 public bool IsSynchronized\r
46                 {\r
47                         get\r
48                         {\r
49                                 return false;\r
50                         }\r
51                 }\r
52                 \r
53                 public object this[int index]\r
54                 {\r
55                         get\r
56                         {\r
57                                 return keys[index];\r
58                         }\r
59                 }\r
60                 \r
61                 public object SyncRoot\r
62                 {\r
63                         get\r
64                         {\r
65                                 return this;\r
66                         }\r
67                 }\r
68                 \r
69                 public void CopyTo(Array array, int index)\r
70                 {\r
71                         foreach(object current in this)\r
72                         {\r
73                                 array.SetValue(current, index++);\r
74                         }\r
75                 }\r
76                 \r
77                 public IEnumerator GetEnumerator()\r
78                 {\r
79                         return keys.GetEnumerator();\r
80                 }\r
81         }\r
82 }\r