Вот мой интерфейс
interface IEnemy
{
int Health { get; set; }
}
и несколько классов, производных от него
public class Goblin : IEnemy
{
public int Health { get; set; }
public Goblin()
{
Health = 50;
Console.WriteLine("You encounter an Enemy Goblin!");
}
}
public class Undead : IEnemy
{
public int Health { get; set; }
public Undead()
{
Health = 100;
Console.WriteLine("You encounter an Enemy Undead!");
}
}
public class Orc : IEnemy
{
public int Health { get; set; }
public Orc()
{
Health = 150;
Console.WriteLine("You encounter an Enemy Orc!");
}
}
И, скажем, я хочу сделать рандомизатор, который выберет врага, которого я ищу. Я делаю что-то вроде этого
IEnemy enemy = new Goblin() or Undead() or Orc()...
И все работает как задумано, но, например, когда у одного объекта, скажем, Гоблина, есть метод, которого нет в интерфейсе, как я могу вызвать этот метод, если враг имеет тип IEnemy?