C>По твоей логике, в Class2 базовый класс тоже "имплементирован не полностью".
Полностью, иначе бы компилятор ругнулся. Ни Class1 ни Class2 не наследуют IEnumerable, поэтому к ним у компилятора другое отношение. Учитывая время вопроса — овертаймишь небось?