Skip to content

luoshupeng/LSP.EventBus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

LSP.EventBus

A simple in memory EventBus / MessageBus library in C#

Basic Usage

class Program
{
    static void Main(string[] args)
    {
        EventBusFactory.DefaultEventBus.Subscribe<PayloadEvent<int>>("default", OnIntEvent);
        EventBusFactory.DefaultEventBus.Subscribe<CustomEvent>("custom", OnCustomEvent);

        EventBusFactory.DefaultEventBus.Publish("default", new PayloadEvent<int>(1234));
        EventBusFactory.DefaultEventBus.Publish("custom", new CustomEvent());

        EventBusFactory.DefaultEventBus.Subscribe<PayloadEvent<string>>("new", s => {
            Console.WriteLine(s.Payload);
        });
        EventBusFactory.DefaultEventBus.Publish("new", new PayloadEvent<string>("this is new message"));

        EventBusFactory.DefaultEventBus.Publish("new", new PayloadEvent<string>("this is async message"), TimeSpan.Zero/*TimeSpan.FromSeconds(10)*/);

        Console.ReadKey();
    }

    public static void OnIntEvent(PayloadEvent<int> intEvent)
    {
        Console.WriteLine(intEvent.Payload);
    }

    public static void OnCustomEvent(CustomEvent customEvent)
    {
        Console.WriteLine("Received Custom Event");
    }
}

class CustomEvent : EventBase
{
}

About

A simple in memory EventBus / MessageBus library in C#

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages