2009-09-18 63 views
1

是否有像这样的.NET框架接口?在.NET中是否有包含单个EventHandler的标准接口

public interface IEvent 
{ 
    event EventHandler Event; 
} 

我当然可以写我自己的,但如果它已经存在,我会重用它。也许可以有一个Fire/Raise方法。

+2

只是一个问题。你来自Java吗? – Dykam 2009-09-18 15:22:47

+0

不,刚结束需要强制WPF,MVVM,附加属性和数据绑定来做我想做的事情。 – 2009-09-18 15:25:29

回答

9

不,没有。

C#/ CLR中的典型事件不使用接口基本模式,如问题所示。这更像Java事件的风格。最近的项目将是一个通用事件委托,可以重新使用,而不是创建新的委托类型。这确实存在于System.EventHandler<TEventArgs>

+0

+1,你是对的,它对Java的观察者风格看起来非常熟悉(尽管倒退) – 2009-09-18 15:19:53

0

不,在BCL或任何其他.NET类库中没有这样的标准接口,至少据我所知。

0

在.NET世界中,并没有真正的匹配。我可以建议,但你看看EventPool的实施?这有能力触发事件,事件可以被描述为枚举(或类似的)。

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); 
} 
+0

我正要提到它。非常有趣的可能很快就会像IEnumerable 一样普遍。 – 2009-09-18 15:29:48

相关问题