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.
-