Skip to content

Event Aggregator aggregates events from multiple objects into itself, passing that same event onto its observers.

Notifications You must be signed in to change notification settings

timothy-makarov/AsyncEventAggregator

Repository files navigation

Asynchronous Event Aggregator

C# .NET TPL Based Event Aggregator with Subscribe/Publish Interface

Event Aggregator aggregates events from multiple objects into itself, passing that same event onto its observers.

Download

Via Git

To get the source code of the library via git just type:

https://github.com/timothy-makarov/AsyncEventAggregator.git
cd ./AsyncEventAggregator

Via NuGet

To install library by using Nuget package manager execute next command:

Install-Package EventAggregator

Dependencies

Asynchronous Event Aggregator requires .NET Framework 4.0.

Example

  var p1 = new Program();
  var p2 = new Program();

  p1.Subscribe(
      async p =>
          {
              Console.Write("Ping... ");
              await Task.Delay(250);
              await p1.Publish(new Pong().AsTask());
          });

  p2.Subscribe(
      async p =>
          {
              Console.WriteLine("Pong!");
              await Task.Delay(500);
              await p2.Publish(new Ping().AsTask());
          });

  p2.Publish(new Ping().AsTask());

  Console.ReadLine();

  p1.Unsubscribe();
  p2.Unsubscribe();

About

Event Aggregator aggregates events from multiple objects into itself, passing that same event onto its observers.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages