Ответ 1
Для этого можно использовать анонимный делегат:
lnkSynEvent.Click +=
new EventHandler((s,e)=>lnkSynEvent_Click(s, e, your_parameter));
У меня есть кнопка ссылки, которая имеет регулярное событие click:
protected void lnkSynEvent_Click(object sender, EventArgs e)
{
}
И я привязываю это событие во время выполнения:
lnkSynEvent.Click += new EventHandler(lnkSynEvent_Click);
Теперь мне нужна функция для принятия дополнительного аргумента:
protected void lnkSynEvent_Click(object sender, EventArgs e, DataTable dataT)
{
}
И передайте то же самое, что и параметр, привязывая это событие:
lnkSynEvent.Click += new EventHandler(lnkSynEvent_Click, //somehow here);
Не знаю, как этого добиться. Пожалуйста, помогите.
Спасибо заранее.
Вишал
Для этого можно использовать анонимный делегат:
lnkSynEvent.Click +=
new EventHandler((s,e)=>lnkSynEvent_Click(s, e, your_parameter));
с помощью делегата:
lnkbtnDel.Click += delegate(object s, EventArgs e1) {
Dynamic_Click(s, e1, lnkbtnDel.ID);
};`
Я не знаю точно, когда он изменился, но теперь это еще проще!
lnkSynEvent.Click += (s,e) => lnkSynEvent_Click(s, e, your_parameter);
EventHandler myEvent = (sender, e) => MyMethod(myParameter);//my delegate
myButton.Click += myEvent;//suscribe
myButton.Click -= myEvent;//unsuscribe
private void MyMethod(MyParameterType myParameter)
{
//Do something
}