문제foreach문은 syntax sugar이다. 내부적으로 해당 타입의 Enumerator를 받아 루프를 수행한다. public class SomeGenericClass : IEnumerable{ public class SomeEnum : IEnumerator { public SomeEnum() { Console.WriteLine("Created"); } public bool MoveNext() { return false; } public void Reset() { throw new NotImplementedExcepti..