.net offers two types of interface implementations: implicit implementation and explicit implementation.
When you use an implicit implementation, it will become part of an interface of the type, for example, if you have an IPerson interface, for example:
public interface IPerson { string Name{get;} }
and you implement it as follows:
public class Person:IPerson { public string Name{get; ....} }
you can access it as follows (implicitly):
aPerson.Name;
but if you implement it like this (explicitly):
public class Person:IPerson { string IPerson.Name{get; ....}
Then access to it is possible only through the IPerson interface:
((IPerson)aPerson).Name;
UPDATE:
In fact, an explicit implementation of an interface allows us to implement different interfaces with members that have the same name. (as shown in this tutorial )
source share