LoadControl(String)
を使用してUserControl
の番号を動的に作成し、それぞれのイベントに登録したいと考えています。匿名メソッドを使用してイベントを動的に購読するには?
すべての私のコントロールは、共通のEvent
の実装を必要と共通Interface
を継承します。
public interface IObjectProcessor
{
event EventHandler<ObjectProcessedEventArgs> ObjectProcessed;
}
だから私は私のページの読み込みイベントに次の操作を行います。
にdeleagteをサブスクライブする方法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!
}
このイベント? EventHandler<ObjectProcessedEventArgs>
へ
は、暗黙的に型 'アクション<オブジェクト、ObjectProcessedEventArgsは、>' 'のEventHandler' に変換できません –
abatishchev
デリゲート(オブジェクト送信者、ObjectProcessedEventArgs E)の明示的なdeclartionを作成入力タイプとして使用する – Dewfy