2009-09-18 24 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

相關問題