Я играю и экспериментирую с интерфейсами в C #, я пытаюсь наследовать от интерфейса для реализации их методов в дочерних классах, но один из дочерних классов, я добавляю метод, которого нет в интерфейс, но я не могу вызвать его.
Как я мог это сделать? Это то, что у меня есть
Интерфейс:
interface IShape
{
double GetPerimeter();
double GetArea();
}
Классы:
public class Square : IShape
{
public double GetPerimeter()
{
// all code here
}
public double GetArea()
{
// all code here
}
}
public class Rectangle : IShape
{
public double GetPerimeter()
{
// all code here
}
public double GetArea()
{
// all code here
}
public string PrintShape()
{
return "This is a rectangle!"
}
}
Основная программа:
IShape shape = null;
Console.WriteLine("Select Shape");
Console.WriteLine("1- Rectangle");
Console.WriteLine("2- Square");
int shapeSelected = int.Parse(Console.ReadLine());
if (shapeSelected.Equals(1))
{
shape = new Rectangle();
}
else
{
shape = new Square();
}
если я попытаюсь вызвать метод «PrintShape» из класса Rectangle, я не могу этого сделать, как я могу использовать методы, которые не из интерфейса?
Спасибо!