INTERFACE System.Collections.Generic.IList public class MgPropertyCollectionEnumerator : IDisposable, System.Collections.Generic.IEnumerator { public MgPropertyCollectionEnumerator(MgPropertyCollection coll) { m_coll = coll; m_pos = -1; } public MgProperty 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 MgPropertyCollection m_coll; private int m_pos; } public System.Collections.Generic.IEnumerator GetEnumerator() { return new MgPropertyCollectionEnumerator(this); } System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() { return new MgPropertyCollectionEnumerator(this); } public int Count { get { return GetCount(); } } public bool IsReadOnly { get { return false; } } public void CopyTo(MgProperty[] array, int arrayIndex) { for (int i=0; i