我使用的框架2.0版(不能使用4.0),並分配一個事件處理程序的下列方法來動態創建的按鈕不起作用:點擊事件處理程序:方法名稱的預期和其他錯誤
deleteButton.Click += (object sender, EventArgs e) => DeleteAnswer(sender, e, toDelete);
錯誤: 'lambda表達式' 不能用它不是ISO的一部分 - 2 C#
因此,一些搜索後,我試着這樣說:
deleteButton.Click += new System.EventHandler(DeleteAnswer(sender, e, toDelete));
錯誤:方法名稱預計
然後是這樣的:
deleteButton.Click += DeleteAnswer(sender, e, toDelete);
錯誤:無法隱式轉換類型 '無效' 到 'System.EventHandler'
這是一個我的部分代碼:
public partial class Question : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//Some Codes Here
if(//Some Condition)
{
Button deleteButton = new Button();
deleteButton.Click = //Event Handler Here
}
}
protected void DeleteAnswer(object sender, EventArgs e, String answer)
{
}
}
什麼是分配事件處理程序並傳遞參數的正確方法?
更新
僅僅因爲你使用.NET 2爲目標,並不意味着你必須使用C#2 - 它看起來像你有你的構建設置不必要地限制你。 –
爲什麼不直接使用EventArgs參數來傳遞'toDelete' – Ric
@JonSkeet如果我弄錯了,請原諒我,我該怎麼做?另外,我使用2.0,因爲託管服務器設置爲2.0(不能更改)。 –