Передача значения переменной в классе

145
04 апреля 2019, 03:50

Есть приложение Windows Form с несколькими формами. Есть код класса:

public void taker(int label_qnum)
    {
        if (label_qnum != 1)
            global_label_qnum = label_qnum - 1;
    }
public int giver_1()
    {
        glq = global_label_qnum;
        return glq;    
    }

taker(int label_qnum) берет значение label_qnum и сохраняет в global_label_qnum, чтобы перенести это значение на другую форму. giver_1() должен отдать значение этой переменной, но возвращает всегда 0.

Как мне вернуть значение label_qnum? Возможно есть другой подход?

Answer 1

В Вашем классе, методы которого Вы показали в вопросе, global_label_qnum поле объявлено как поле экземпляра класса. Каждый раз, когда Вы создаете объект этого класса, оно инициализируется значением 0. Объявите это поле как static, и оно станет принадлежать определению класса, а не объектам этого типа.

READ ALSO
Adapter.Update(DataTable dt) не обновляет все записи

Adapter.Update(DataTable dt) не обновляет все записи

Данные из таблицы базы данных отображаются в treeList1(DevExpress) и дублируются в dataGridViewПользователь изменяет данные в treeList1 (изменения происходят...

204
Выбор значений С По из запроса SQLITE

Выбор значений С По из запроса SQLITE

К примеру у меня есть запрос:

123
Запись в масив масивов

Запись в масив масивов

Есть массив массивов, создан таким образом

111
Удаление записи из бд

Удаление записи из бд

У меня есть Windows форма

150