Cuando se implementa un explicitlty interfaz, los métodos en que la interfaz sólo será visible si se hace referencia al objeto como la interfaz:
public interface IFoo
{
void Bar();
}
public interface IWhatever
{
void Method();
}
public class MyClass : IFoo, IWhatever
{
public void IFoo.Bar() //Explicit implementation
{
}
public void Method() //standard implementation
{
}
}
Si alguna parte de su código tiene una referencia a este objeto:
MyClass mc = new MyClass();
mc.Bar(); //will not compile
IFoo mc = new MyClass();
mc.Bar(); //will compile
Para el estándar im plementation, no importa la forma en que hacen referencia al objeto:
MyClass mc = new MyClass();
mc.Method(); //compiles just fine
Acerca de una docena de engaños exactos en la lista relacionada .... –