Skip to content

AlexBHarley/eeNet

Repository files navigation

eeNet

Build Status

Node.js style events in C#

//API Overview

EventEmitter ee;

ee.On("eventName", Method);
ee.Emit("eventName", "some_data");
ee.EmitAsync("eventName", new List<string> {"data1", "data2"});
ee.RemoveListener("eventName", Method);
ee.RemoveAllListeners("eventName");
//Example

class Client
{
    private EventEmitter _ee;

    public Client()
    {
        this._ee = new EventEmitter();
    }

    public void PushDataToServer(string data)
    {
        this._ee.On("data_received", LogData);
        this._ee.On("data_received", SendToBus);
    }
    
    public void ReceiveData(List<string> dataList)
    {
        this._ee.Emit("data_received", dataList);
        this._ee.RemoveListener("data_received", LogData);
    }

    public void LogData(object data)
    {
        //Log and store data
    }

    public void SendToBus(object data)
    {
        //Send data somewhere interesting
    }
}

About

Node.js style events for C#

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages