示例#1
0
 public void ReportProgress(string message, int progress)
 {
     if (MyWorker != null)
     {
         MyWorker.ReportProgress(progress, message);
     }
 }
        public void ShowScreen()
        {
            bool stop;

            do
            {
                Console.Clear();
                Console.WriteLine("*************************************");
                Console.WriteLine($"Warning : {Warning}");
                Console.WriteLine($"Text : {TextValue}\n");
                Console.WriteLine("*************************************\n");
                Console.WriteLine($"Enter \"{exitString}\" to exit program");
                Console.WriteLine($"Enter \"r\" to reverse \"Text\"");
                Console.WriteLine($"Any other text changes \"Text\"\n");
                Console.Write("Enter choice: ");
                Answer = Console.ReadLine();
                if (Answer.ToUpper().Equals("R"))
                {
                    //The Message.MyMessage should be changed to the reverse
                    //If it was "Hello mom" it should be "mom olleH"
                    MyWorker.ReverseTextValue();
                }
                else
                {
                    //The Message.MyMessage should change to the text in Answer
                    MyWorker.SetTextValue();
                }
                stop = Answer.ToUpper().Equals(exitString.ToUpper());
            } while (stop == false);
        }
示例#3
0
        private static void Main(string[] args)
        {
            myWorker = new MyWorker();

            Task.Run(() => Execute());

            Console.ReadKey();
        }
示例#4
0
    public void StartWorker()
    {
        MyWorker worker = new MyWorker();

        worker.Done = new DoneDelegate(DoneCallback);
        System.Threading.Thread thread = new System.Threading.Thread(worker.Go);
        thread.IsBackground = true;
        thread.Start();
    }
示例#5
0
 public static void Main()
 {
     MyWorker worker = new MyWorker(20);
     Thread myThread = new Thread(worker.PrintNumbers);
     myThread.Start();
     // PrintNumbers();
     myThread.Join();
     Console.WriteLine("End.");
 }
示例#6
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());
        }
示例#7
0
    public static void Main()
    {
        MyWorker worker   = new MyWorker(20);
        Thread   myThread = new Thread(worker.PrintNumbers);

        myThread.Start();
        // PrintNumbers();
        myThread.Join();
        Console.WriteLine("End.");
    }
 public ViewModel()
 {
     LogEntries          = new ObservableCollection <string>();
     _listCollectionView = CollectionViewSource.GetDefaultView(LogEntries) as ListCollectionView;
     if (_listCollectionView != null)
     {
         MyWorker worker = new MyWorker();
         worker.Subscribe(this);
         worker.StartWork();
     }
 }
示例#9
0
    static void Main(string[] args)
    {
        MyWorker w1 = new MyWorker("Tom");
        MyWorker w2 = new MyWorker("Bob");

        Thread t1 = new Thread(new ThreadStart(w1.DoJob));
        Thread t2 = new Thread(new ThreadStart(w2.DoJob));

        // Put t1 and t2 into the background
        t1.IsBackground = true;
        t2.IsBackground = true;

        t1.Start();
        t2.Start();

        // What happens if you uncomment out these joins?
        // t1.Join();
        // t2.Join();

        Console.WriteLine("Done.");
    }
示例#10
0
 private void button1_Click(object sender, EventArgs e)
 {
     ThreadPool.QueueUserWorkItem(delegate { MyWorker.Run(button1); });
 }
示例#11
0
        public MainPage()
        {
            myWorker = new MyWorker();

            this.InitializeComponent();
        }
示例#12
0
        static void Main(string[] args)
        {
            IMyWorker worker = new MyWorker();

            worker.DoWork += new System.ComponentModel.DoWorkEventHandler(worker_DoWork);
        }
示例#13
0
        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();
        }