This source code generator generates Reactive Extensions methods for class events. For example, there is some class with an event:
public partial class Example
{
public event Action<int, string, bool> ActionEvent;
}
If you enter the code:
Example example = new Example();
example.RxActionEvent()
The generator will create a file with extension methods:
using System;
using System.Reactive.Linq;
namespace RxMethodGenerator{
public static class RxGeneratedMethods{
public static IObservable<(System.Int32 Item1Int32, System.String Item2String, System.Boolean Item3Boolean)> RxActionEvent(this TestConsoleApp.Example obj)
{
if (obj == null) throw new ArgumentNullException(nameof(obj));
return Observable.FromEvent<System.Action<System.Int32, System.String, System.Boolean>, (System.Int32 Item1Int32, System.String Item2String, System.Boolean Item3Boolean)>(
conversion => (obj0, obj1, obj2) => conversion((obj0, obj1, obj2)),
h => obj.ActionEvent += h,
h => obj.ActionEvent -= h);
}
}
}