с приведенным ниже кодом Я хочу обновить progressbar от foo1. , но я не смог реализовать EventHandler в FooКак настроить обработчик событий
class Foo : Form // implements progressbar
{
IFoo foo = new Foo1()
// this will not do:
ProgressBarEventHandler = new EventUpdateProgressBar(this.UpdateProgressBar);
UpdateProgressBar() { }
}
public delegate void EventUpdateProgressBar();
class FooBase
{
public EventUpdateProgressBar ProgressBarEventHandler;
protected virtual void UpdateProgressBar()
{
if (ProgressBarEventHandler != null)
ProgressBarEventHandler();
}
}
class Foo1 : IFoo,FooBase { base.UpdateProgressBar() }
class Foo2 : IFoo,FooBase {}
interface IFoo {}
есть способ, чтобы получить эту работу или есть лучший подход?
Что именно проблема? Имеет ли этот код какие-либо исключения? –
он не будет компилироваться, поскольку Foo ProgressBarEventHandler не существует. – aw48
Он не будет компилироваться в первую очередь из-за странного объявления Foo. Foo объявляется как класс, но его тело содержит код, как и метод. Исправьте эту проблему, прежде чем мы сможем прийти в EventUpdateProgressBar. –