コード例 #1
0
        public event EventHandler WorkComplete;     //базовый тип делегата для ивентов
        public virtual void DoWork(int hours, WorkType workType)
        {
            for (int i = 0; i < hours; i++)
            {
                var e = new WorkPerformedEventArgs
                {
                    Hours    = i + 1,
                    WorkType = workType
                };
                //OnWorkPerformed(this, i + 1, workType);
                OnWorkPerformed(this, e);
            }

            OnWorkComplete(this, EventArgs.Empty);
        }
コード例 #2
0
 public static void WorkPerformed3(object sender, WorkPerformedEventArgs e)
 {
     Console.WriteLine($"3: Type of work {e.WorkType} done in {e.Hours} hours");
 }
コード例 #3
0
 protected virtual void OnWorkPerformed(object sender, WorkPerformedEventArgs e)
 {
     WorkPerformed?.Invoke(this, e); //? означает if (WorkPerformed != null)
 }