Использование 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);
}
}
}