我正在UserControl
使用动态创建许多 sLoadControl(String)
并希望订阅它们中的每一个的事件。
我所有的控件都继承了一个Interface
需要实现 common 的 common Event
:
public interface IObjectProcessor
{
event EventHandler<ObjectProcessedEventArgs> ObjectProcessed;
}
所以我在我的页面加载事件中执行下一步:
protected void Page_Load()
{
switch(Request["type"])
{
case "user":
{
LoadControl("AddUser.ascx", delegate(object sender, ObjectProcessedEventArgs e)
{
// do something
});
break;
}
}
}
private void LoadControl(string path, Action<object, ObjectProcessedEventArgs> action)
{
var control = (IObjectProcessor)LoadControl(path)
control.ObjectProcessed // here!
}
如何订阅代表参加此活动?