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

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

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

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

this.Invoke

- ведь можно

this.listBox1.BeginInvoke

?

d

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

new object[]

- ссылочный тип приводится к тексту ? вот тут подробней скажите пожалуйста Ещё выходит два прохода кода получается, первый раз проверяется меняется ли поток и второй раз срабаывает else добавление текста ? Так ? Сам код полностью.
Листинг программы
  1. delegate void SetTextCallback(string text);
  2. private void SetText(string text)
  3. {
  4. if (this.listBox1.InvokeRequired)
  5. {
  6. // создаем делегат ссылающийся на метод SetText
  7. SetTextCallback d = new SetTextCallback(SetText);
  8. this.Invoke(d, new object[] { text });
  9. }
  10. else
  11. {
  12. this.AddData(text);
  13. }
  14. }
  15. private void AddData(string text)
  16. {
  17. listBox1.Items.Add(text);
  18. }

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

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

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


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

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

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

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут