C #: eventos o una interfaz de observador? ¿Pros contras
Tengo lo siguiente (simplificado):
interface IFindFilesObserver
{
void OnFoundFile(FileInfo fileInfo);
void OnFoundDirectory(DirectoryInfo directoryInfo);
}
class FindFiles
{
IFindFilesObserver _observer;
// ...
}
... y estoy en conflicto. Esto es básicamente lo que habría escrito en C ++, pero C # tiene eventos. ¿Debo cambiar el código para usar eventos o debo dejarlo solo?
Cuáles son las ventajas o desventajas de los eventos sobre una interfaz de observador tradicional?