У меня есть следующее (упрощенное):
interface IFindFilesObserver
{
void OnFoundFile(FileInfo fileInfo);
void OnFoundDirectory(DirectoryInfo directoryInfo);
}
class FindFiles
{
IFindFilesObserver _observer;
// ...
}
... и я не согласен. Это в основном то, что я написал бы на С++, но на С# есть события. Должен ли я изменить код для использования событий или оставить его в покое?
Каковы преимущества или недостатки событий над традиционным интерфейсом наблюдателя?