Как уведомить основную форму из вызываемого класса FileWatcher об ошибке?C#

Место общения программистов C#
Ответить
Anonymous
 Как уведомить основную форму из вызываемого класса FileWatcher об ошибке?

Сообщение Anonymous »

У меня есть форма, которую я вызываю классом, который создает наблюдатель за файлами и выполняет другие действия, когда срабатывает наблюдатель за файлами. Если во время события изменения средства просмотра файлов возникает ошибка, мне нужно сообщить основной форме о наличии проблемы.
Мой класс средства просмотра файлов:

Код: Выделить всё

  internal static class PpsTransactionFileWatcher
{
private static FileSystemWatcher _watcher;

public static Suburban.Miscellaneous.Response StartPpsFileWatcher()
{
var response = new Suburban.Miscellaneous.Response();
response.IsSuccess = true;
response.Message = "Success";

try
{
CreateTrnFileWatcher();
ProcessTransactionFile();
return response;
}
catch (Exception ex)
{
LoggingWrapper.Log("StartPpsFileWatcher", ex.ToString(), ex);
response.IsSuccess = false;
response.Message = ex.Message;
return response;
}
}

private static void CreateTrnFileWatcher()
{
try
{
_watcher = new FileSystemWatcher
{
Path = GlobalSettings.PpsDirectory,
NotifyFilter = NotifyFilters.LastWrite,
Filter = GlobalSettings.PpsTransactionFile
};

_watcher.Changed += TrnWatcherChanged;
_watcher.EnableRaisingEvents = true;
}
catch (Exception ex)
{
LoggingWrapper.Log("CreateTrnFileWatcher", ex.ToString(), ex);
throw;
}
}

private static void TrnWatcherChanged(object sender, FileSystemEventArgs e)
{
try
{
_watcher.Changed -= TrnWatcherChanged;
ProcessTransactionFile();
_watcher.Changed += TrnWatcherChanged;
}
catch (Exception ex)
{
LoggingWrapper.Log("TrnWatcherChanged", ex.ToString(), ex);
}
}
}
В моей форме я называю это так:

Код: Выделить всё

var transresponse = PpsTransactionFileWatcher.StartPpsFileWatcher();
Как мне уведомить форму о том, что из этого класса было создано исключение после его запуска из измененного события?

Подробнее здесь: https://stackoverflow.com/questions/733 ... s-on-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»