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 public IDataParameter this[int index]
34 return (OleDbParameter) m_list[index];
37 m_list[index] = value;
41 public object this[string name]
45 throw new NotImplementedException ();
49 throw new NotImplementedException ();
57 int IList.Add (object value)
59 if (!(value is IDataParameter))
60 throw new InvalidCastException ();
63 return m_list.IndexOf (value);
66 public OleDbParameter Add (OleDbParameter parameter)
68 m_list.Add (parameter);
72 public OleDbParameter Add (string name, object value)
74 OleDbParameter parameter = new OleDbParameter (name, value);
75 m_list.Add (parameter);
79 public OleDbParameter Add (string name, OleDbType type)
81 OleDbParameter parameter = new OleDbParameter (name, type);
82 m_list.Add (parameter);
86 public OleDbParameter Add (string name, OleDbType type, int width)
88 OleDbParameter parameter = new OleDbParameter (name, type, width);
89 m_list.Add (parameter);
93 public OleDbParameter Add (string name, OleDbType type,
94 int width, string src_col)
96 OleDbParameter parameter = new OleDbParameter (name, type, width, src_col);
97 m_list.Add (parameter);
106 bool IList.Contains (object value)
108 return m_list.Contains (value);
111 bool IDataParameterCollection.Contains (string value)
113 for (int i = 0; i < m_list.Count; i++) {
114 OleDbParameter parameter;
116 parameter = (OleDbParameter) m_list[i];
117 if (parameter.ParameterName == value)
124 void ICollection.CopyTo (Array array, int index)
126 ((OleDbParameter[])(m_list.ToArray ())).CopyTo (array, index);
129 int IList.IndexOf (object value)
131 return m_list.IndexOf (value);
134 int IDataParameterCollection.IndexOf (string name)
136 return m_list.IndexOf ((object) this[name]);
139 void IList.Insert (int index, object value)
141 m_list.Insert (index, value);
144 void IList.Remove (object value)
146 m_list.Remove (value);
149 void IList.RemoveAt (int index)
151 m_list.Remove ((object) m_list[index]);
154 void IDataParameterCollection.RemoveAt (string name)
156 m_list.Remove ((object) this[name]);