Je crée un certain nombre de UserControl
s dynamiquement en utilisant LoadControl(String)
et que vous souhaitez vous abonner à un événement de chacun d'eux.Comment s'inscrire de façon dynamique à un événement en utilisant des méthodes anonymes?
Tous mes contrôles hérite d'une Interface
commune qui nécessitent une mise en œuvre d'un Event
commun:
public interface IObjectProcessor
{
event EventHandler<ObjectProcessedEventArgs> ObjectProcessed;
}
Alors je faire sur mon événement de chargement de page:
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!
}
Comment souscrire une deleagte à cet evènement?
Impossible de convertir implicitement le type 'action
créer declartion explicite de délégué (expéditeur d'objet, ObjectProcessedEventArgs e) et l'utiliser comme type d'entrée – Dewfy