Как вызвать интерфейс в C # - PullRequest
3 голосов
/ 14 марта 2011
interface ISample
{
    int fncAdd();
}

class ibaseclass
{
    public int intF = 0, intS = 0;
    int Add()
    {
        return intF + intS;
    }
}
class iChild : ibaseclass, ISample
{
    int fncAdd()
    {
        int intTot = 0;
        ibaseclass obj = new ibaseclass();
        intTot = obj.intF;
        return intTot;
    }
}

Я хочу позвонить ISample в static void Main(string[] args), но я не знаю, как это сделать.Подскажите, пожалуйста, как?

Ответы [ 3 ]

10 голосов
/ 14 марта 2011

Интерфейс не может быть создан сам по себе.Вы не можете просто вызвать интерфейс.Вам нужно создать экземпляр класса, который на самом деле реализует интерфейс.

Интерфейсы не могут и ничего не могут сделать сами.

Дляпример:

ISample instance = new iChild(); // iChild implements ISample
instance.fncAdd();

Следующие вопросы дают более подробные ответы на этот вопрос:

2 голосов
/ 14 марта 2011

Вы имеете в виду?:

static void Main(string[] args)
{
    ISample child = new iChild();
    child.fncAdd();
}

Хотя, как утверждают другие, код, похоже, не использует правильно наследование.

2 голосов
/ 14 марта 2011

Вы не можете "вызвать" интерфейс или создать его экземпляр.

Что вы можете сделать, это иметь свой класс реализовать интерфейс, а затем использовать его метод fncAdd.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...