Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Text;
- namespace DelegatesAndEvents
- {
- //public delegate void WorkPerformedHandler(object sender, WorkPerformedEventArgs e);
- public class Worker
- {
- public event EventHandler<WorkPerformedEventArgs> WorkPerformed;
- public event EventHandler WorkCompleted;
- public virtual void DoWork(int hours, WorkType workType)
- {
- for (int i = 0; i < hours; i++)
- {
- OnWorkPerformed(i + 1, workType);
- }
- OnWorkCompleted();
- }
- protected virtual void OnWorkPerformed(int hours, WorkType workType)
- {
- var del = WorkPerformed as EventHandler<WorkPerformedEventArgs>;
- del?.Invoke(this, new WorkPerformedEventArgs(hours, workType));
- }
- protected virtual void OnWorkCompleted()
- {
- var del = WorkCompleted as EventHandler;
- del?.Invoke(this, EventArgs.Empty);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement