我创建了一个实现IEnumerable(T)和自定义IEnumerator(T)的自定义集合。
我还向自定义集合添加了一个Add()方法,其代码如下:
实现基于这个示例http://msdn.microsoft.com/en-us/library/system.collections.ienumerator.aspx。
当我使用foreach循环遍历我的数组时,我希望防止集合被修改(例如在循环内调用Add()方法),并抛出新的InvalidOperationException异常。我该怎么做?
我还向自定义集合添加了一个Add()方法,其代码如下:
public void Add(T item)
{
T[] tempArray = new T[_array.Length + 1];
for (int i = 0; i < _array.Length; i++)
{
tempArray[i] = _array[i];
}
tempArray[_array.Length] = item;
_array = tempArray;
tempArray = null;
}
实现基于这个示例http://msdn.microsoft.com/en-us/library/system.collections.ienumerator.aspx。
当我使用foreach循环遍历我的数组时,我希望防止集合被修改(例如在循环内调用Add()方法),并抛出新的InvalidOperationException异常。我该怎么做?