2 // System.Data.OleDb.OleDbParameterCollection
5 // Rodrigo Moya (rodrigo@ximian.com)
7 // Copyright (C) Rodrigo Moya, 2002
10 using System.Collections;
12 using System.Data.Common;
14 namespace System.Data.OleDb
16 public sealed class OleDbParameterCollection : MarshalByRefObject,
17 IDataParameterCollection, IList, ICollection, IEnumerable
19 private ArrayList m_list = new ArrayList ();
25 int ICollection.Count {
31 bool IList.IsFixedSize
45 bool ICollection.IsSynchronized
48 return m_list.IsSynchronized;
52 object ICollection.SyncRoot
55 return m_list.SyncRoot;
59 object IList.this[int index]
65 m_list[index] = value;
69 object IDataParameterCollection.this[string name]
73 throw new NotImplementedException ();
77 throw new NotImplementedException ();
85 int IList.Add (object value)
87 if (!(value is IDataParameter))
88 throw new InvalidCastException ();
91 return m_list.IndexOf (value);
94 public OleDbParameter Add (OleDbParameter parameter)
96 m_list.Add (parameter);
100 public OleDbParameter Add (string name, object value)
102 OleDbParameter parameter = new OleDbParameter (name, value);
103 m_list.Add (parameter);
107 public OleDbParameter Add (string name, OleDbType type)
109 OleDbParameter parameter = new OleDbParameter (name, type);
110 m_list.Add (parameter);
114 public OleDbParameter Add (string name, OleDbType type, int width)
116 OleDbParameter parameter = new OleDbParameter (name, type, width);
117 m_list.Add (parameter);
121 public OleDbParameter Add (string name, OleDbType type,
122 int width, string src_col)
124 OleDbParameter parameter = new OleDbParameter (name, type, width, src_col);
125 m_list.Add (parameter);
134 bool IList.Contains (object value)
136 return m_list.Contains (value);
139 bool IDataParameterCollection.Contains (string value)
141 for (int i = 0; i < m_list.Count; i++) {
142 IDataParameter parameter;
144 parameter = (IDataParameter) m_list[i];
145 if (parameter.ParameterName == value)
152 void ICollection.CopyTo (Array array, int index)
154 ((OleDbParameter[])(m_list.ToArray ())).CopyTo (array, index);
157 IEnumerator IEnumerable.GetEnumerator ()
159 return m_list.GetEnumerator ();
162 int IList.IndexOf (object value)
164 return m_list.IndexOf (value);
167 int IDataParameterCollection.IndexOf (string name)
169 return m_list.IndexOf (((IDataParameterCollection) this)[name]);
172 void IList.Insert (int index, object value)
174 m_list.Insert (index, value);
177 void IList.Remove (object value)
179 m_list.Remove (value);
182 void IList.RemoveAt (int index)
184 m_list.Remove ((object) m_list[index]);
187 void IDataParameterCollection.RemoveAt (string name)
189 m_list.Remove (((IDataParameterCollection) this)[name]);