using System; using System.Collections.Generic; using System.Text; using NUnit.Framework; namespace Delegation3 { public delegate void SomeoneHavingABaby(); public class RSMember { public string fName; public bool bPregnant; public event SomeoneHavingABaby imHavingABaby; public void TellEveryoneAboutMyBaby() { imHavingABaby(); } } public static class Actions { public static void MakeDinner() { Console.WriteLine("Potato salad"); } public static void BabySit() { Console.WriteLine("Play with the kid."); } public static void SendFlowers() { Console.WriteLine("Daises on the way."); } } public class RealLife { public void Main() { RSMember preggy = new RSMember(); RSMember jane = new RSMember(); jane.fName = "Jane"; preggy.imHavingABaby += new SomeoneHavingABaby(Actions.BabySit); RSMember kathy = new RSMember(); kathy.fName = "Kathy"; preggy.imHavingABaby += new SomeoneHavingABaby(Actions.MakeDinner); RSMember luisa = new RSMember(); luisa.fName = "Luisa"; preggy.imHavingABaby += new SomeoneHavingABaby(Actions.SendFlowers); preggy.TellEveryoneAboutMyBaby(); } } } namespace UnitTests { [TestFixture] public class Tests3 { [Test] public void Test3() { Delegation3.RealLife myTest = new Delegation3.RealLife(); myTest.Main(); } } }