【发布时间】:2011-02-09 19:27:28
【问题描述】:
我的班级有一个活动:
public class WindowModel
{
public delegate void WindowChangedHandler(object source, WindowTypeEventArgs e);
public event WindowChangedHandler WindowChanged;
public void GotoWindow(WindowType windowType)
{
this.currentWindow = windowType;
this.WindowChanged.Invoke(this, new WindowTypeEventArgs(windowType));
}
}
派生事件类:
public class WindowTypeEventArgs : EventArgs
{
public readonly WindowType windowType;
public WindowTypeEventArgs(WindowType windowType)
{
this.windowType = windowType;
}
}
其他一些将其注册到事件的类:
private void SetupEvents()
{
this.WindowModel.WindowChanged += this.ChangeWindow;
}
private void ChangeWindow(object sender, WindowTypeEventArgs e)
{
//change window
}
我从遵循 .Net 约定中获得了什么? 有这样的合同会更有意义
public delegate void WindowChangedHandler(WindowType windowType);
public event WindowChangedHandler WindowChanged;
这样做,我不需要创建一个新的类,并且更容易理解。 我不是在编写 .Net 库。此代码仅用于本项目。我喜欢约定,但是当我说在这个例子中它没有意义或者我误解了什么时,我说得对吗?
【问题讨论】:
标签: c# events conventions