是否有像這樣的.NET框架接口?在.NET中是否有包含單個EventHandler的標準接口
public interface IEvent
{
event EventHandler Event;
}
我當然可以寫我自己的,但如果它已經存在,我會重用它。也許可以有一個Fire/Raise方法。
是否有像這樣的.NET框架接口?在.NET中是否有包含單個EventHandler的標準接口
public interface IEvent
{
event EventHandler Event;
}
我當然可以寫我自己的,但如果它已經存在,我會重用它。也許可以有一個Fire/Raise方法。
不,沒有。
C#/ CLR中的典型事件不使用接口基本模式,如問題所示。這更像Java事件的風格。最近的項目將是一個通用事件委託,可以重新使用,而不是創建新的委託類型。這確實存在於System.EventHandler<TEventArgs>
+1,你是對的,它對Java的觀察者風格看起來非常熟悉(儘管倒退) – 2009-09-18 15:19:53
不,在BCL或任何其他.NET類庫中沒有這樣的標準接口,至少據我所知。
在.NET世界中,並沒有真正的匹配。我可以建議,但你看看EventPool的實施?這有能力觸發事件,事件可以被描述爲枚舉(或類似的)。
還沒有,但是會有.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);
}
我正要提到它。非常有趣的可能很快就會像IEnumerable
只是一個問題。你來自Java嗎? – Dykam 2009-09-18 15:22:47
不,剛結束需要強制WPF,MVVM,附加屬性和數據綁定來做我想做的事情。 – 2009-09-18 15:25:29