Проблема с реализацией интерфейса

115
21 ноября 2021, 03:00

Столкнулся с проблемой: по заданию курсовой надо создать интерфейс и реализовать его.

public interface IDoc
    {
        int SumNakladnaya(int price, int kol);
    }
 class Nakladnaya: Document, IDoc
    {...
 public int SumNakladnaya(int p, int k)
        {
            return p * k;
        }
    }

Пытаясь использовать функцию в самой программе, мне выдаёт ошибку "Ошибка CS0120 Для нестатического поля, метода или свойства "Nakladnaya.SumNakladnaya(int, int)" требуется ссылка на объект"

                    N[i] = new Nakladnaya();
                    N[i].SetPrice(Convert.ToInt32(dataGridView1[5, i].Value));
                    N[i].SetKol(Convert.ToInt32(dataGridView1[6, i].Value));
                    int v = Nakladnaya.SumNakladnaya(N[i].GetPrice(), N[i].GetKol());

Долго с этим сражался, но никак не могу понять, что именно и где надо исправить, потому что интерфейсы не поддерживают статические методы, а это, как мне кажется - единственный вариант исправления данной ошибки. Пожалуйста, помогите.

Answer 1

N[i].SumNakladnaya(...) PS: Ну и параметры у этого метода, наверное, не нужны, пусть работает с полями класса

READ ALSO
Как передать данные с одного UserControl в другой

Как передать данные с одного UserControl в другой

У меня есть два User Control: ProgramsUS и ее дочерняя ShowCodeUSНа ProgramsUS находится treeview, нажимая на его узел, появляется ShowCodeUS

160