When i need to implement the interface member explicitly ,it is private.
for example :
// when explicit implementation it is always private
void I
Because you are saying when my object is an IPointy than you can call the IPointy method draw. Otherwise no.
public interface IPointy
{
void Draw();
}
public class PointyImplementer : IPointy
{
#region IPointy Members
void IPointy.Draw()
{
Console.WriteLine("You have drawn");
}
#endregion
}
class Program
{
static void Main(string[] args)
{
IPointy pi = new PointyImplementer();
pi.Draw();
Console.Read();
}
}
It is a way for you to mask the interface you are implementing.