在.NET中是否有包含单个EventHandler的标准接口
是否有像这样的.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 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