interface Class1 { IEnumerator<Class1> GetItems(); } class Class2 : Class1 { public IEnumerator<Class2> GetItems() { throw new NotImplementedException(); } }