private static void RescindCats(IExecutive exec, object userData) { Console.WriteLine("{0} : Rescinding all cat events.", exec.Now); //exec.UnRequestEvents(new Revoker(typeof(Cat))); // or... exec.UnRequestEvents(new Domain.Sample1.Cat("prototype")); }
public void TestExecutiveUnRequestTarget() { IExecutive exec = ExecFactory.Instance.CreateExecutive(); DateTime now = DateTime.Now; DateTime when; double priority; OtherTarget ot = null; // initialize validation variables m_error = false; m_validateUnRequest = new ArrayList(); Debug.WriteLine(""); Debug.WriteLine("Start test TestExecutiveUnRequestTarget"); Debug.WriteLine(""); for (int i = 0; i < NUM_EVENTS; i++) { when = new DateTime(now.Ticks + m_random.Next()); priority = m_random.NextDouble(); Debug.WriteLine("Primary requesting event service " + i); switch (i) { case 1: case 2: case 3: case 5: case 7: case 11: m_validateUnRequest.Add(i); ot = new OtherTarget(m_validateUnRequest, m_error); ExecEventReceiver eer = new ExecEventReceiver(ot.ExecEventRecieverUnRequestEventReceiver); exec.RequestEvent(eer, when, priority, i, m_execEventType); exec.UnRequestEvents(ot); break; default: exec.RequestEvent(new ExecEventReceiver(this.ExecEventRecieverUnRequestEventReceiver), when, priority, i, m_execEventType); break; } ; } Debug.WriteLine(""); // AEL exec.UnRequestEvents(new OtherTarget(m_validateUnRequest, m_error)); exec.Start(); Debug.WriteLine(""); // test validation variable Assert.IsTrue(!m_error, "Executive did fire a unrequested event"); Debug.WriteLine(""); }
private static void RescindIndividual(IExecutive exec, object userData) { Domain.Sample1.Dog dog = (Domain.Sample1.Dog)userData; Console.WriteLine("{0} : Rescinding events to {1}.Speak()", exec.Now, dog.Name); exec.UnRequestEvents(new ExecEventReceiver(dog.Speak)); }