Before reading any further, please read the disclaimer.
As it turns out, an explicit interface method implementation in C# must be tied to the base-most interface to which it belongs; it cannot be tied to a descendant interface.
namespace Test14 { class Test { interface A { void F(); } interface B: A { } class C: B { void A.F() //OK { } void B.F() //error CS0539: 'B.F' in explicit interface declaration is not a member of interface { } } } }
Well, sorry, but... it is.
-