Я предполагаю, что вы спрашиваете, почему вы получаете ошибку CS1061.
Это просто.В вашем консольном приложении, даже если вы создаете экземпляр объекта типа «b» («new b ()»), вы, кажется, присваиваете его переменной, ссылающейся на что-то, что является «a».Интерфейс «a» в соответствии с вашим образцом действительно не содержит метод с именем «functionB ()».
В этом случае у вас есть две опции.
Первый вариант - добавление метода 'functionB () 'также к определению интерфейса:
public interface a {
void functionA(){}
void functionB(){}
}
Второй вариант - убедиться, что переменная' a 'в вашем консольном приложении имеет тип' b ':
b a = new b();
a.functionB();
НаПримечание: я бы предложил придерживаться общепринятых правил именования, например, начиная с заглавных букв для имен классов и методов.