Advertisement
wingman007

C#EventDriven_Program_2а

Sep 30th, 2014
369
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.11 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace EventDrive2a
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             Human person1 = new Human("Stoyan", 50);
  14.             person1.Introduced += delegate(object sender, EventArgs e) { Console.WriteLine("I am a delegate and event handler"); };
  15.             person1.Introduced += delegate(object sender, EventArgs e) { Console.WriteLine("I am a second event handler!"); };
  16.             person1.Introduced += person1_Introduced;
  17.             person1.Introduced += (object sender, EventArgs e) => Console.WriteLine("I am a lambda");
  18. /* example for closure!!!
  19.             int age = 54; // it is going to be used as a "free variable" in an anonymous function.
  20.  
  21.             // closure!!!!!!! anonymous function with "free variable"
  22.             person1.OnIntroduce = delegate() { Console.WriteLine("I am a delegate and event handler {0}", age); };
  23.             person1.IntroduceYourSelf();
  24.  
  25.             // or
  26.             // closure!!!!!!! anonymous function with free variable
  27.             // closure!!!!!!! anonymous function with free variable
  28.             person1.Introduced += delegate(object sender, EventArgs e) { Human human = (Human)sender; Console.WriteLine("I am a delgate and event handler {0}", (human.Age > age) ? "Old" : "Young"); };
  29.  
  30.             // lambda expression
  31.             person1.Introduced += (object sender, EventArgs e) => {Human human = (Human)sender; Console.WriteLine("I am a lambda closure {0}", (human.Age > age) ? "Old" : "Young");};
  32.  
  33. */
  34.             Time myTime = new Time();
  35.             // myTime.Tick += delegate(object sender, EventArgs e) { Console.WriteLine("The current time is {0}", DateTime.Now); };
  36.             myTime.Tick += delegate(object sender, TickEventArgs e) { Console.WriteLine("The current time is {0}", e.TimeNow); };
  37.             myTime.Start();
  38.  
  39.         }
  40.  
  41.         private static void person1_Introduced(object sender, EventArgs e)
  42.         {
  43.             Console.WriteLine("I am a static event handler!");
  44.         }
  45.     }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement