【发布时间】:2016-08-03 20:18:17
【问题描述】:
似乎没有FromEvent 或FromEventPattern 方法的重载将转换为IObservable<T> 类型为TDelegate 的事件,仅在有多个参数且没有EventArgs 的情况下.
例如看来我们无法将以下内容转换为 observables。
public event Action<int, int> SomethingHappened;
public event Func<string, int> SomethingElseHappened;
我们要么必须在某处有一个EventArgs,要么在其签名中只有一个参数的TDelegate。因此,以下是可转换的,因为它们的隐式委托中有一个 EventArgs。
public event NameChangedHandler NameChanged;
public event EventHandler RollNumberChanged;
public event EventHandler<AgeChangedEventArgs> AgeChanged;
public delegate void NameChangedHandler(
object sender,
NameChangedEventArgs e);
这个也可以转换,因为它的参数中有一个T。
public event Action<Tuple<string, string>> ClassChanged;
如果我遇到这样的事件该怎么办:
public event Action<T1, T2...> ItHappened;
【问题讨论】:
标签: c# system.reactive