Вызовите метод во внутренней функции c # [duplicate]

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

Следующее регулярное выражение будет использовать широко используемые числа и характер комбинаций в различных форматах телефонных номеров:

/^\s*(?:\+?(\d{1,3}))?([-. (]*(\d{3})[-. )]*)?((\d{3})[-. ]*(\d{2,4})(?:[-.x ]*(\d+))?)\s*$/gm

Положительный: +42 555.123.4567 + 1- (800) -123-4567 +7 555 1234567 +7 (926) 1234567 (926) 1234567 +79261234567 926 1234567 9261234567 1234567 123-4567 123-89-01 495 1234567 469 123 45 67 89261234567 8 (926) 1234567 926.123.4567 415-555-1234 650-555-2345 (416) 555-3456 202 555 4567 4035555678 1 416 555 9292

Отрицательный: 926 3 4 8 800 600-APPLE

Исходный источник: http://www.regexr.com / 38pvb

2
задан Ashkan Mobayen Khiabani 24 March 2019 в 19:58
поделиться

1 ответ

Если вы создали другую функцию, вы можете передать ее в качестве параметра функции, например:

int OtherFunction(string a)
{
    // your code here
}

, а затем просто вызвать свою функцию, например:

OtherFunction(a);

Если другой метод не является чем-то, что вы создали, например, методом события щелчка или чего-то еще, то вы должны сделать вашу переменную глобальной, которая была бы допустимой в обеих областях:

public string a = ""; // in your main class

и затем:

void function1()
{
    //some code
    a = "some value";
    //some code
}


int OtherFunction()
{
    // you have access to a in here to
    textBox1.Text = a;
}

РЕДАКТИРОВАТЬ: (демонстрация объявления переменной в вашем собственном примере)

string a = "";  //declare it here before (outside) method not inside it
private void datagrid_customer_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
    for (int i = 0; i < datagrid_customer.Items.Count; i++)
    {
        if (Convert.ToString((datagrid_customer.SelectedCells[3].Column.GetCellContent(datagrid_customer.SelectedItem) as TextBlock).Text) == Convert.ToString((datagrid_customer.SelectedCells[1].Column.GetCellContent(datagrid_customer.Items[i]) as TextBlock).Text))
        {
            ...
            a = (b + c + d).ToString();       
        }
 }
0
ответ дан Ashkan Mobayen Khiabani 24 March 2019 в 19:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: