Необходимо создать поток, в котором будет функция и очередь разных параметров и он будет по мере добавления в очередь данных параметров запускать функцию. Задержка между добавлениями может быть и минута, поток просто должен висеть и использовать функцию, когда в очередь добавляются параметры.
Пример : У меня есть событие, которое добавляет в список 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
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
У меня есть событие, которое добавляет в список типа List данныеИ во всём остальном коде я использую этот список
В обычном C# проекте я просто скопировал этотdll в папку проекта и использовал
Сегодня поменяли ПК на более мощныйУстановили такую же версию Visual Studio (2015 Enterprise)