INTERFACE System.Collections.Generic.IList<MgPropertyCollection> public class MgBatchPropertyCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator<MgPropertyCollection> { public MgBatchPropertyCollectionEnumerator(MgBatchPropertyCollection coll) { m_coll = coll; m_pos = -1; } public MgPropertyCollection Current { get { return m_coll.GetItem(m_pos); } } Object System.Collections.IEnumerator.Current { get { return m_coll.GetItem(m_pos); } } public bool MoveNext() { bool bOk = false; if (m_pos < m_coll.GetCount()-1) { m_pos++; bOk = true; } return bOk; } public void Reset() { m_pos = -1; } public void Dispose() { m_coll = null; } private MgBatchPropertyCollection m_coll; private int m_pos; } public System.Collections.Generic.IEnumerator<MgPropertyCollection> GetEnumerator() { return new MgBatchPropertyCollectionEnumerator(this); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return new MgBatchPropertyCollectionEnumerator(this); } public int Count { get { return GetCount(); } } public bool IsReadOnly { get { return false; } } public void CopyTo(MgPropertyCollection[] array, int arrayIndex) { for (int i=0; i<GetCount(); i++) { array[arrayIndex+i] = GetItem(i); } } public MgPropertyCollection this[int index] { get { return GetItem(index); } set { SetItem(index, value); } } public bool Contains(MgPropertyCollection coll) { return false; } public int IndexOf(MgPropertyCollection coll) { return -1; }