Um de seus comentários fez referência ao tipo de retorno do manipulador de eventos. Você está mais preocupado com o tipo de manipulador ou com os dados que retornam do evento? Se for o último, isso pode ajudar. Caso contrário, esta solução não será suficiente, mas pode ajudar a chegar mais perto do que você está procurando.
Tudo o que você precisa fazer é declarar seus manipuladores de eventos como manipuladores de eventos genéricos na interface e em sua implementação e você pode personalizar os resultados de retorno.
Sua classe de conteúdo ficaria assim:
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();
}
Sua interface ficaria assim:
public interface myInterface
{
event EventHandler<StartedEventArgs> Started;
event EventHandler<UpdateStatusEventArgs> UpdateStatusText;
}
Agora que os argumentos de evento estão retornando seus tipos, você pode conectá-los a qualquer manipulador que definir.
Para referência:
https://msdn.microsoft.com/en-us/library/edzehd2t(v=vs.110).aspx