widzę rzeczy tak dużo:Re-wykonawczych interfejsu, który już inny interfejs dziedziczy
interface A { ... }
interface B : A { ... }
class C : B, A { ...}
Dlaczego chcesz określić, że C implementuje interfejs, gdy B już dziedziczy? Czy ma to jakieś znaczenie semantyczne, czy jest to tylko kwestia stylu?
(jeden z przykładów realizacji jest List<T>
IList<T>
i ICollection<T>
, a IList<T>
wynika również z ICollection<T>
).
Aktualizacja: Dzięki za potwierdzające moje przypuszczenie, że nie ma żadnej różnicy semantycznej.
mam wymyślić związanego sytuacji, w której ma coś zmienić, aby wyraźnie wymienić interfejs, który jest już w drzewie dziedziczenia:
Jeśli B
były klasy, C
będzie tylko (re-) implementuj elementy interfejsu od A
, jeśli nazwa A
jest jawnie umieszczana po ":
".
[EDYCJA] Zmieniłem sformułowanie pytania, aby uniknąć pomyłki z jawnie zaimplementowanymi elementami interfejsu, które ograniczają korzystanie z elementu do przypadków, w których obiekt jest rzutowany jako interfejs.
Myślę, że to dla lepszej czytelności .. bez konieczności pracy swoich komórek mózgowych przechodzących przez interfejs hierarchii dziedziczenia. – Gishu