I am a bit unclear on the syntax of inheritance for interfaces in C#.
For example:
public interface IFoo
{
}
public interface IBar : IFoo
{
}
What is the difference between this:
public interface IQux : IBar
{
}
and this:
public interface IQux : IBar, IFoo
{
}
Or, for a real world example, Why is ICollection<T>
declared like this:
public interface ICollection<T> : IEnumerable<T>, IEnumerable
instead of this:
public interface ICollection<T> : IEnumerable<T>
given that IEnumerable<T>
already inherits from IEnumerable
?