using System; namespace OpenTap { /// Action(T) IInvokable. readonly struct Invokable : IInvokable { readonly Action action; public Invokable(Action action) => this.action = action; public void Invoke(T v) => action(v); /// Add an ignored argument. public Invokable AddArg() { var act = action; return new Invokable((a1, a2) => act(a1)); } } /// Action(T) IInvokable. readonly struct Invokable : IInvokable { readonly Action action; public Invokable(Action action) => this.action = action; public void Invoke(T v, T2 v2) => action(v, v2); } }