Хотите ли вы что-то вроде out
(что позволяет функции создавать экземпляр переменной в вызывающем методе)?:
private void MyFunc(string ingredientName, string text, out int ingredientQty)
{
ingredientQty = int.Parse(text);
TableUpdate(ingredientName, text);
}
int Chocolate;
MyFunc(nameof(Chocolate), txtChocolateQty.Text, out Chocolate);
nameof
заменит это наСтрока "Chocolate" во время компиляции путем просмотра имени переменной.
В качестве альтернативы, в C # 7 вы можете объявить int inline:
MyFunc("Chocolate", txtChocolateQty.Text, out int Chocolate);
Edit (с TryParse):
private bool MyFunc(string ingredientName, string text, out int ingredientQty)
{
if (!int.TryParse(text, out ingredientQty))
{
return false;
}
TableUpdate(ingredientName, text);
return true;
}
использование:
if (MyFunc("Chocolate", txtChocolateQty.Text, out int Chocolate))
{
// it was successful! yay!
}