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
}
}