L'un de vos commentaires faisait référence au type de retour du gestionnaire d'événements. Êtes-vous plus préoccupé par le type de gestionnaire ou les données provenant de l'événement? Si c'est le dernier, cela peut aider. Sinon, cette solution ne suffira pas, mais peut vous aider à vous rapprocher de ce que vous recherchez.
Tout ce que vous avez à faire est de déclarer vos gestionnaires d'événements en tant que gestionnaires d'événements génériques à la fois dans l'interface et dans votre implémentation et vous pouvez personnaliser les résultats de retour.
Votre classe conrete ressemblerait à ceci:
public class ClsPictures : myInterface
{
// Implementing the IProcess interface
public event EventHandler<UpdateStatusEventArgs> UpdateStatusText;
//no need for this anymore: public delegate void UpdateStatusEventHandler(string Status);
public event EventHandler<StartedEventArgs> Started;
//no need for this anymore: public delegate void StartedEventHandler();
}
Votre interface ressemblerait à ceci:
public interface myInterface
{
event EventHandler<StartedEventArgs> Started;
event EventHandler<UpdateStatusEventArgs> UpdateStatusText;
}
Maintenant que les arguments d'événement renvoient vos types, vous pouvez les accrocher dans n'importe quel gestionnaire que vous définissez.
Pour référence:
https://msdn.microsoft.com/en-us/library/edzehd2t(v=vs.110).aspx