事件参数一定要是EventArgs e 吗?我写了一个事件,把EventArgs换成了 string e,然后调用事件,那个string e参数并且能传递过去,调试成功,谁能解释一下吗?
public delegate void TestHandler(object sender,string arg);public class Test
{
public void ResponseString()
{
if (this.Response != null)
this.Response(this, "ASPX");
}
public event TestHandler Response;
}
页面中随便一个Button的响应
protected void Button1_Click(object sender, EventArgs e)
{
Test t = new Test();
t.Response += new TestHandler(myTest);
t.ResponseString(); }
public delegate void TestHandler(object sender,string arg);public class Test
{
public void ResponseString()
{
if (this.Response != null)
this.Response(this, "ASPX");
}
public event TestHandler Response;
}
页面中随便一个Button的响应
protected void Button1_Click(object sender, EventArgs e)
{
Test t = new Test();
t.Response += new TestHandler(myTest);
t.ResponseString(); }
public event TestHandler Response;然后给事件赋值
t.Response += new TestHandler(myTest);
不知道是不是这样呢?
cat_hsfz(我的Blog在http://purl.oclc.org/NET/cathsfz)和我理解的一样 一般情况下 用EventArgs是一种规范 但是不是语法限制 不用这个完全可以争取执行
用(object sender, EventArgs e)是为了统一起见 大家都可以这样调用事件希望我的理解是正确的