Вы можете добавить в свою коллекцию поле, которое вы можете увеличивать при каждом изменении коллекции. Когда перечислитель создан, вы сохраняете значение этого поля в перечислителе. Когда используется перечислитель, вы проверяете, что текущее значение поля совпадает со значением, сохраненным при создании перечислителя. Если нет, вы бросаете InvalidOperationException
.