通常是用EvengArgs做基类,是个通常的约定做法,在事件里面,确定 Delegate 的参数类型并没有确定的做法。如你要创建一个事件说收到消息了,可以这样写:
但是我们通常约定的做法是这样的:
{
/// <summary>
/// 事件中的数据
/// </summary>
public string Message { get; set; }
}
/// <summary>
/// 标准的事件委托,第一个object表示发送这个事件的源对象,第二个表示事件包含的数据
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
public delegate void MessageReceivedEventHandler(object sender,MessageReceivedEventArgs e);
/// <summary>
/// 这个事件声明与上面的没有什么不同
/// </summary>
public event MessageReceivedEventHandler MessageReceived;