Использование ISynchronizeInvoke для выполнения методов в потоке, в котором создан объект - C#
Формулировка задачи:
Предположим есть класс Client, у которого есть метод Send, который отправляет что-то асинхронно и по окончании отправки инициирует событие Sended. Вот, если подписаться на Sended, и пытаться получить в обработчике инфу об отправке (ну аргументы события), то нужно будет выводить инфу через Invoke (выводить в пользовательский интерфейс например в WPF), так как это будет вызов из другого потока ( не GUI), для решения этой проблемы есть ISynchronizeInvoke. Как пользоваться, вообще что-то не въезжаю. Можете показать на простом примере? Нашёл такую инфу, но что-то мне это мало о чём сказало.
Решение задачи: «Использование ISynchronizeInvoke для выполнения методов в потоке, в котором создан объект»
textual
Листинг программы
class bich { private int _pole; private int pole { get { return _pole; } set { _pole = value; if (value == 10) MyEve(value); } } public delegate void MyDel(int i); public event MyDel MyEve; public void sd() { Thread www = new Thread(start); [url]www.IsBackground[/url] = true; [url]www.Start();[/url] } public void start() { int i =0; while (i < 1000000000) { i++; } pole = 10; //MyEve(i); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д