using System; // Step 1: Base interface interface IShape { void Draw(); } // Step 2: Derived interface inherits from IShape interface IColorShape : IShape { void FillColor(); } // Step 3: Implement the derived interface explicitly class Rectangle : IColorShape { // Explicit implementation of Draw() from IShape void IShape.Draw() { Console.WriteLine("Drawing a Rectangle"); } // Explicit implementation of FillColor() from IColorShape void IColorShape.FillColor() { Console.WriteLine("Filling Rectangle with Blue color"); } } class Program { static void Main() { // Create object of Rectangle Rectangle rect = new Rectangle(); // To access explicit interface methods, we need to cast to interface IShape shape = rect; shape.Draw(); // Calls IShape.Draw() IColorShape colorShape = rect; colorShape.FillColor(); // Calls IColorShape.FillColor() Console.ReadLine(); } }