Lir*_*man 11 c# events delegates event-handling
我正在尝试编写一个也会处理click事件的泛型方法,我希望允许用户将自己的方法作为click事件传递.像这样的东西:
public static void BuildPaging(
Control pagingControl, short currentPage, short totalPages, ???)
{
for (int i = 0; i < totalPages; i++)
{
LinkButton pageLink = new LinkButton();
...
pageLink.Click += ???;
pagingControl.Controls.Add(paheLink);
}
}
Run Code Online (Sandbox Code Playgroud)
我知道这是可能的,但我不记得怎么做了......
Pat*_*man 20
只需使用事件处理程序的类型作为参数类型:
public static void BuildPaging(Control pagingControl
, short currentPage
, short totalPages
, EventHandler eh // <- this one
)
{
for (int i = 0; i < totalPages; i++)
{
LinkButton pageLink = new LinkButton();
...
pageLink.Click += eh;
pagingControl.Controls.Add(paheLink);
}
}
Run Code Online (Sandbox Code Playgroud)
注意:完成后不要忘记删除事件处理程序,否则可能会泄漏内存!
| 归档时间: |
|
| 查看次数: |
13817 次 |
| 最近记录: |