private void button1_Click(object sender, EventArgs e)
{
//code
//error saying local variable named e can't be passed
this.timer1[i].Tick += new System.EventHandler((s,e)=>this.timer1_Tick(s,e,i));
//code
}
private void timer1_Tick(object sender, EventArgs e, int i)
{
//code
}
這兩種方法都需要相同的eventArgs。問題是因爲我需要將我也傳遞給第二種方法。任何其他方式來做到這一點?代表C#:將當前方法EventArgs傳遞給另一個方法
編譯器只是混淆你的命名。您試圖引用名爲'e'的第二個變量。將內部的'e'改爲'ea'或類似的東西,就像這樣:'this.timer1 [i] .Tick + = new System.EventHandler((s,ea)=> this.timer1_Tick(s,ea,i) );' –
但如果我這樣做,我不能修改另一個函數中的timer1。我得到一個nullReferenceException –
更改內部變量名稱不應該影響能夠修改任何東西......''EventArgs'甚至不包含任何可以幫助你的東西。 –