Необходимо создать поток, в котором будет функция и очередь разных параметров и он будет по мере добавления в очередь данных параметров запускать функцию. Задержка между добавлениями может быть и минута, поток просто должен висеть и использовать функцию, когда в очередь добавляются параметры.
Пример : У меня есть событие, которое добавляет в список List
числовые значения от 1 и до 10. И в зависимости от значения мне необходимо вызывать функцию, например void SetValue(int val)
. Событие вызывается в случайные моменты времени.
Думаю, что вам подойдёт такая вещь как ReactiveExtensions. Есть неплохой сайт для изучения основ.
Ваш пример будет выглядеть на нём примерно так:
static void Main(string[] args)
{
var subject = new Subject<string>();
var observable = subject.AsObservable(); //Чтобы пользователи не смогли закастить обратно
Consume(observable);
subject.OnNext("First");
Thread.Sleep(1000);
subject.OnNext("Second");
Thread.Sleep(5000);
subject.OnNext("Third");
subject.OnCompleted();
Console.ReadKey();
}
private static void Consume(IObservable<string> observable)
{
observable.Subscribe(
Console.WriteLine,
Console.WriteLine,
() => Console.WriteLine("COmpleted!")); //Никак не обрабатываем IDisposable для простоты
}
Но чаще всего удобнее бывает использовать фабричные методы Observable, чем напрямую взаимодействовать с Subject
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
У меня есть событие, которое добавляет в список типа List данныеИ во всём остальном коде я использую этот список
В обычном C# проекте я просто скопировал этотdll в папку проекта и использовал
Сегодня поменяли ПК на более мощныйУстановили такую же версию Visual Studio (2015 Enterprise)