Использование С# 4.0 - создание интерфейса и класса, реализующего интерфейс. Я хочу объявить необязательный параметр в интерфейсе и отразить его в классе. Итак, у меня есть следующее:
public interface IFoo
{
void Bar(int i, int j=0);
}
public class Foo
{
void Bar(int i, int j=0) { // do stuff }
}
Это компилируется, но выглядит не так. Интерфейс должен иметь необязательные параметры, поскольку в противном случае он не будет правильно отражать подпись подписи интерфейса.
Должен ли я пропустить необязательный параметр и просто использовать тип с нулевым значением? Или это будет работать по назначению без каких-либо побочных эффектов или последствий?