IEnumerable<T>
inherits from IEnumerable
(the non-generic version). Any time you implement the generic method you also need to provide a non-generic counterpart.
If you simply right click the interface in Visual Studio it will automatically stub out the functions for you, but you can manually add it if you prefer.
IEnumerator IEnumerable.GetEnumerator()
{
return children.GetEnumerator();
}
Just add that to the class in addition to the existing methods.