是否有像这样的.NET框架界面?
public interface IEvent
{
event EventHandler Event;
}
我当然可以写自己的,但如果已经存在,我会重复使用它。也许也可以使用Fire / Raise方法。
答案 0 :(得分:9)
不,没有。
通常,C#/ CLR中的事件不使用您的问题中所示的接口基本模式。这更类似于Java风格的事件。最接近的项目是通用事件委托,可以重复使用而不是创建新的委托类型。这确实存在于System.EventHandler<TEventArgs>
答案 1 :(得分:2)
还没有,但是.Net 4.0,IObservable<T>
和IObserver<T>
接口是Reactive Framework的一部分,请参阅Paul Batum blog上的信息。
这就是接口目前的形式:
interface IObservable<out T>
{
IDisposable Subscribe(IObserver o);
}
interface IObserver<in T>
{
void OnCompleted();
void OnNext(T v);
void OnError(Exception e);
}
答案 2 :(得分:0)
不,BCL或任何其他.NET类库中没有这样的标准接口,至少据我所知。
答案 3 :(得分:0)
.NET世界中没有真正的匹配。但是,我可以建议您查看EventPool的实现吗?它具有触发事件的能力,事件可以描述为枚举(或类似)。