using System; using System.Collections; public static void Main(string [] args) { DataRow myDataRow = new DataRow(); DataItem myDataItem = new DataItem("Text","Value"); DataRow.DataItems.Add(myDataItem); Console.WriteLine(myDataRow.DataItems[0].Text); } public class DataRow { public DataItemCollection DataItems; public DataRow() { DataItems = new DataItemCollection(); } }
public class DataItem { private string _text; private string _value;
public DataItem(string text, string value) { _text=text; _value=value; }
public string Text { get { return(_text); } set { _text=value; } }
public string Value { get { return(_value); } set { _value=value; } }
}
public class DataItemCollection { private ArrayList _array = new ArrayList();
public virtual int Count { get { return(_array.Count); } }
public DataItem this[int index] //此處使用了Indexer { get { if(index>=0 && index<_array.Count) { return((DataItem)_array[index]); } else { throw new Exception("index overflow"); } }
set { if(index>=0 && index<_array.Count) { _array[index]=value; } else { throw new Exception("index overflow"); } } }
public void Add(DataItem item) { _array.Add(item); }
public void Remove(DataItem item) { _array.Remove(item); }
public void RemovAt(int i) { _array.RemoveAt(i); } }