Передача данных обратно в метод main без необходимости использования статического метода - C # - PullRequest
0 голосов
/ 16 октября 2018

Я пишу программу, которая отображает список продуктов в виде пользовательских элементов управления в flowPanel.При щелчке по этому продукту открывается другая форма, и из этой формы вы можете добавить продукт в заказ, используя метод Main.

В настоящее время метод является статическим, что позволяет правильно его вызывать и использовать.Тот факт, что он статичен, теперь приводит к проблемам для меня в дальнейшем, поэтому я стараюсь устранить необходимость в этом, прежде чем я зайду слишком далеко вниз по кроличьей норе.

public static void addToOrderFromPicture(string product, string qty, string _price)
{
    Products search = new Products();
    if (productsList.Exists(item => item.product == product))
    {
        search = productsList.First(item => item.product == product);
    }

    order2.Add(search)
}

Выше мойстатический метод в main.

private void btn_add_Click(object sender, EventArgs e)
{
    OrderQty qty = new OrderQty(lbl_caseSize.Text.ToString()
    //I've cut out a load of code here to avoid clutter

    Main.addToOrderFromPicture(lbl_product.Text.ToString(), qty.qtyReturn) 
}

Приведенный выше код является частью моего UserControl, который заполняет flowPanel - При нажатии кнопки добавления появляется окно orderQty, запрашивающее некоторые данные.Это передается обратно, а затем вызывается addToOrderMethod.

Я искал в Интернете, и я полагаю, что делегаты могут быть способом решения этой проблемы, но я не уверен.Любые советы приветствуются.

...