Причина интерфейсов действительно ускользает от меня. Насколько я понимаю, это своего рода обходной путь для несуществующего мульти-наследования, которого нет в С# (или мне так сказали).
Все, что я вижу, это то, что вы заранее определяете некоторые члены и функции, которые затем должны быть заново определены в классе. Таким образом, делая интерфейс избыточным. Это просто похоже на синтаксис... ну, чушь для меня (пожалуйста, не обижайся, это значит. Хлам как в бесполезных вещах).
В приведенном ниже примере, взятом из другого потока интерфейсов С# при переполнении стека, я бы просто создал базовый класс с именем Pizza вместо интерфейса.
простой пример (взят из другого вклада)
public interface IPizza
{
public void Order();
}
public class PepperoniPizza : IPizza
{
public void Order()
{
//Order Pepperoni pizza
}
}
public class HawaiiPizza : IPizza
{
public void Order()
{
//Order HawaiiPizza
}
}