Jestem nieco niejasny na temat składni dziedziczenia dla interfejsów w C#.Deklarowanie dziedziczenia interfejsu w C#
Na przykład:
public interface IFoo
{
}
public interface IBar : IFoo
{
}
Jaka jest różnica między tym:
public interface IQux : IBar
{
}
a to:
public interface IQux : IBar, IFoo
{
}
Albo, dla prawdziwego przykład światowej Dlaczego ICollection<T>
uznanej tak:
public interface ICollection<T> : IEnumerable<T>, IEnumerable
zamiast tego:
public interface ICollection<T> : IEnumerable<T>
skoro IEnumerable<T>
już dziedziczy IEnumerable
?
To dobre pytanie –
Nie jest konieczne jawne wymienianie podstawowych interfejsów jako zaimplementowane, ale jest to dobre dla przejrzystości. IOW, nie ma różnicy funkcjonalnej. – Blorgbeard
uzgodnione z @Blorgbeard, nie ma różnicy, po prostu dobre dla jasności –