Когда метод интерфейса не имеет никаких параметров, почему не является реализацией, не признанной методом со всеми необязательными параметрами?

Я играю в необязательных параметрах и пришел в соответствии со следующим сценарием.

Если у меня есть метод в моем классе, где все параметры необязательны, я могу написать следующий код:

public class Test
{
    public int A(int foo = 7, int bar = 6)
    {
        return foo*bar;
    }
}
public class TestRunner
{
    public void B()
    {
        Test test = new Test();
        Console.WriteLine(test.A()); // this recognises I can call A() with no parameters
    }
}

, если я тогда создаю интерфейс, такой как:

public interface IAInterface
    {
        int A();
    }

, если я сделаю тестовый класс, реализую этот интерфейс, то это Не скомпилируется, так как он говорит, что элемент интерфейса A () от IAINTERFace не реализуется. Почему реализация интерфейса не решена как методом со всеми дополнительными параметрами?

5
задан John Pappin 14 July 2011 в 08:10
поделиться