using System; using System.Data; using System.Collections.Generic; namespace Ant.ORM { /// /// ObjectCollection 的摘要说明 /// public class ObjectCollection : IList { List lists; #region IList 成员 /// /// 查看对象在列表的索引 /// /// 对象实例 /// 返回索引位置,-1表示没有 public virtual int IndexOf(T item) { if (lists == null) { return -1; } else { return lists.IndexOf(item); } } /// /// /// /// /// public virtual void Insert(int index, T item) { if (item == null) return; if (this.lists == null) this.lists = new List(); if (!this.lists.Contains(item)) { lists.Insert(index, item); } } /// /// /// /// public virtual void RemoveAt(int index) { if (lists == null) return; else { lists.RemoveAt(index); } } /// /// /// /// /// public virtual T this[int index] { get { return lists[index]; } set { lists[index] = value; } } #endregion #region ICollection 成员 /// /// /// /// public virtual void Add(T item) { if (item == null) return; if (this.lists == null) this.lists = new List(); if (!this.lists.Contains(item)) lists.Add(item); } /// /// /// public virtual void Clear() { if (lists != null) lists.Clear(); } /// /// /// /// /// public virtual bool Contains(T item) { if (lists == null) return false; else return lists.Contains(item); } /// /// /// /// /// public virtual void CopyTo(T[] array, int arrayIndex) { if (array == null) return; else { lists.CopyTo(array, arrayIndex); } } /// /// 记录总数 /// public virtual int Count { get { if (lists == null) { return -1; } else { return lists.Count; } } } /// /// /// public virtual bool IsReadOnly { get { //throw new Exception("该方法没有实现!"); return false; } } /// /// /// /// /// public virtual bool Remove(T item) { if (item == null) return true; if (lists == null) return true; else return lists.Remove(item); } #endregion #region IEnumerable 成员 /// /// /// /// public virtual IEnumerator GetEnumerator() { //return lists.GetEnumerator(); //foreach (T t in this) //{ // yield return t; //} for (int i = 0, count = this.Count; i < count; i++) { yield return (T)this[i]; } //throw new Exception("The method or operation is not implemented."); } #endregion #region IEnumerable 成员 /// /// /// /// System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return this.GetEnumerator(); //throw new Exception("The method or operation is not implemented."); } #endregion } }