private static void DelegateSample() { DelegateObserver observer = new DelegateObserver(); // задаём коллбэк одновременно специфицируя и объект, на котором вызывать, и метод, который вызывать. // всё это хранится в инстансе MulticastDelegate DelegateNotifier notifier = new DelegateNotifier(observer.CallbackMethod); // сейчас нотификатор уведомит наблюдателя, вызывая коллбэк. notifier.NotifyAfterTimeout(2000); Console.Read(); // нотификатор ничего не знает о наблюдателе. Мы используем посредника (класс Program), чтобы организовать взаимодействие // наблюдаемого объекта и наблюдателя. }
private static void DelegateSample() { DelegateObserver observer = new DelegateObserver(); // задаём коллбэк одновременно специфицируя и объект, на котором вызывать, и метод, который вызывать. // всё это хранится в инстансе MulticastDelegate DelegateNotifier notifier = new DelegateNotifier(observer.CallbackMethod); // сейчас нотификатор уведомит наблюдателя, вызывая коллбэк. notifier.NotifyAfterTimeout(2000); Console.Read(); // нотификатор ничего не знает о наблюдателе. Мы используем посредника (класс Program), чтобы организовать взаимодействие // наблюдаемого объекта и наблюдателя. }