static void Main(string[] args) { Drawing drawing = new Drawing(); //drawing.Draw(); cant do this because explicit implementation IRect r = drawing; r.Draw(); ICircle c = drawing; c.Draw(); }