using System; using System.Collections; using System.Collections.Generic; public class Test { public static void Main(string[] args) { foreach (var i in new DangerousEnumerable()) { Console.WriteLine(i); } Console.ReadKey(); } } public class DangerousEnumerable : IEnumerable, IDisposable { public IEnumerator GetEnumerator() { yield return 1; yield return 2; Console.WriteLine("Finished!"); } IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } public void Dispose() { Console.WriteLine("Disposed!"); } }