Interface Inheritance C# with Example
using System; namespace CSharpInterface { interface IShape { double Area(); } interface IDisplay { void Display(); } interface IShapeDisplay : IShape, IDisplay{} class Shape { public double dim1, dim2; public Shape(double dimension1, double dimension2) { dim1 = dimension1; dim2 = dimension2; } } class Rectangle : Shape, IShapeDisplay { public Rectangle(double dimension1, double dimension2) : base(dimension1, dimension2) { } public double Area() { return dim1 * dim2; } public void Display() { Console.WriteLine("Area of Rectangle : " + Area()); } } class Triangle : Shape, IShapeDisplay { public Triangle(double dimension1, double dimension2) : base(dimension1, dimension2) { } public double Area() { return dim1 * dim2 / 2; } public void Display() { Console.WriteLine("Area of Triangle : " + Area()); } } class MultipleInterfaceImplementation { public static void Main(string[] args) { Rectangle newRectangle = new Rectangle(6, 7); Triangle newTriangle = new Triangle(12, 23); IShapeDisplay referenceVariable; referenceVariable = newRectangle as IShapeDisplay; if(referenceVariable != null) referenceVariable.Display(); referenceVariable = newTriangle as IShapeDisplay; if(referenceVariable != null) referenceVariable.Display(); } } }