I have 2 interfaces and 2 classes that I investigate via Reflection:
Although, we use the interfaces as the same way we use inheritance (":"); interfaces are not inherited; they are to be implemented. In such a case; inheritance is confused with implementation since they are defined using the same operator (":").
As a summary;
IA : IB and A:IA means; any class implementing IA, shall implement IB. In this case; A shall implement IA and IB.
A:B means A class inherits B class; it does not implement.
The confusion here derives from using the same operator (":").
Check this page interface inheritance