.NET 4.x Объясните код пожалуйста - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день. Есть код, вернее часть программы, исполняется. Но хочу более точно разобраться. Объясните пожалуйста подробно. Интересует именно строка
this.Invoke(d, new object[] { text });
Если я правильно рассуждаю, то

this.Invoke

- ведь можно

this.listBox1.BeginInvoke

?

d

- имя делагата, верно ?

new object[]

- ссылочный тип приводится к тексту ? вот тут подробней скажите пожалуйста Ещё выходит два прохода кода получается, первый раз проверяется меняется ли поток и второй раз срабаывает else добавление текста ? Так ? Сам код полностью.
delegate void SetTextCallback(string text);
 
private void SetText(string text)
        {
            if (this.listBox1.InvokeRequired)
                {
                    // создаем делегат ссылающийся на метод SetText
                    SetTextCallback d = new SetTextCallback(SetText);
                    this.Invoke(d, new object[] { text });
                }
            else
                {
                    this.AddData(text);
                }
        }
 
private void AddData(string text)
        {
 
            listBox1.Items.Add(text);
        }

Решение задачи: «.NET 4.x Объясните код пожалуйста»

textual
Листинг программы
this.Invoke(d, new object[] { text });

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.286 из 5