Let\'s take the interface IQueryable for example:
public interface IQueryable : IQueryable, IEnumerable;
Sin
Mentioning the grandparent (and higher ancestors) in the declaration is not strictly necessary, but since the parent, being an interface, didn't actually implement the grandparent, its better to mention the grandparent in the declaration of the grandchild to improve documentation for the eventual implementer.
Thats why, in case of concrete implementations in the ancestry , you see the following in MSDN:
public class Button : ButtonBase,IButtonControl
and not the following ...
public class Button : ButtonBase,Control,Component,MarshalByRefObject,Object