As IEnumerable<T> implements
IEnumerable, when a class implements the generic interface
IEnumerable<object> it is already implementing IEnumerable also.
One advantage I can think of is enabling Linq. Most Linq method are not accessible for classes that implement the non-generic
Also, I personally think that
IEnumerabe<object> is more meaningful that just IEnumerable. When I read a method that returns
IEnumerable<object> I'm sure that it will contain any kind of object. Instead a method that returns a
IEnumerable does not say much about what kind of objects it will contain.
Hope it helps!