У меня есть BackgroundWorker в программе vb.net, которая выполняет длинную процедуру импорта данных.Я хочу изменить его метод RunWorkerAsync, чтобы он запускал пользовательское событие по завершении метода.(Так что метод в автоматизированном процессе может ответить на событие и возобновить свою работу).В некотором смысле я хочу «расширить» метод RunWorkerAsync, чтобы добавить дополнительную строку кода - но я не могу «увидеть» код в методе (просто добавить строку, вызывающую событие), потому что BackgroundWorker является классом MSDNот Microsoft.
Единственное решение, о котором я могу подумать, - это «обернуть» фоновый рабочий класс в оболочку, которая вызывает метод .RunWorkerAsync, а затем вызывает событие.
Public sub wrapperMethod()
myBackgroundWorker.RunWorkerAsync()
raise customEvent
end sub
Можно ли использовать шаблон проектирования?Простой способ решить эту проблему с помощью языка .net?
PS: К сожалению, я автоматизирую некое устаревшее программное обеспечение, и фоновый работник используется во многих местах, поэтому обертывание фонового приложения будет немного трудоемким и можетоткрытые ошибки