Created
September 6, 2011 13:03
-
-
Save johnnykv/1197479 to your computer and use it in GitHub Desktop.
C# events
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Johnny Vestergaard - 2011 | |
//C# events | |
class Program | |
{ | |
static void Main(string[] args) | |
{ | |
//Opret ny instans af yawningcat | |
YawningCat yawningCat = new YawningCat(); | |
//Subscribe til Yawn event på yawningCat instansen. | |
yawningCat.Yawn += new EventHandler(wc_Yawn); | |
//Start katten i sin egen tråd. | |
Thread wcThread = new Thread(yawningCat.WakeUpCat); | |
wcThread.Start(); | |
} | |
//Metoden der eksekveres når katten gaber. | |
static void wc_Yawn(object sender, EventArgs e) | |
{ | |
Console.WriteLine("Katten gabte! (event)"); | |
} | |
} | |
public class YawningCat | |
{ | |
public event EventHandler Yawn; | |
public void WakeUpCat() | |
{ | |
Console.WriteLine("Katten er vågnet!"); | |
//men evig træt. | |
while (true) | |
{ | |
Thread.Sleep(1000); | |
OnYawn(new EventArgs()); | |
} | |
} | |
protected virtual void OnYawn(EventArgs e) | |
{ | |
//Emitter Yank eventen - men kun hvis der rent | |
//faktisk er nogle der lytter (observer) på den. | |
if (Yawn != null) | |
Yawn(this, e); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment