DoWork() public method

public DoWork ( ) : void
return void
Example #1
0
        public IActionResult Index()
        {
            NewRelic.Api.Agent.NewRelic.AddCustomParameter("Discount Code", "Summer Super Sale");
            NewRelic.Api.Agent.NewRelic.AddCustomParameter("Item Code", (Single)31456);
            var tempWorker = new MyWorker();

            tempWorker.DoWork();

            return(View());
        }
        private static void Main(string[] args)
        {
            // Pipeline that dumps data to WorkPerformed1
            WorkPerformedHandler del1 = new WorkPerformedHandler(WorkPerformed1);

            WorkPerformedHandler del2 = new WorkPerformedHandler(WorkPerformed2);

            WorkPerformedHandler del3 = new WorkPerformedHandler(WorkPerformed2);

            del1(5, WorkType.Golf);
            del2(10, WorkType.GenerateReports);

            // Pass in deletage - del2 calls WorkPerformed2. It will invoke whatever was passed ie. WorkPerformed2
            DoWork(del2);

            // Adding handlers to Invocation list of Delegate1
            // Whenever del1 fires it will notify WorkPerformed2 and WorkPerformed3 as well
            del1 += del2;
            del1 += del3; // I could also do { del1 += del2 + del3 }

            // Events with Delegates
            // Attach handlers with delegates
            // Worker class 3 public events to wire up
            var worker = new Worker();

            // Without using Generic<T>
            worker.WorkPerformed += new WorkPerformedHandlerDelEvent(worker_WorkPerformed);

            // Wire event
            // specifying parameter signature match/pipeline
            worker.WorkPerfomedT += new EventHandler<WorkPerformedEventArgs>(worker_WorkPerformed);
            worker.WorkCompleted += worker_WorkCompleted; // Delegate Inference

            // Worker performs some task that exposes it's events. Whenever event is fired
            // subscribers (worker_WorkPerformed, worker_WorkCompleted) will be notified
            // Start work
            worker.DoWork(3, WorkType.GoToMeeting);

            // Testing class
            MyWorker w = new MyWorker();
            w.AttachListenerToMe += MyWorkerNotified;

            // Using Func with Events
            // Can't do this
            //w.AttachListenerToMe += Action<object, EventArgs> = (o, e) =>
            //    {
            //        Console.WriteLine();
            //    };

            string stringResult = w.DoWork();

            Console.Read();
        }