示例#1
0
        private void TestWeakEventPattern()
        {
            WeakEventListener listener = new WeakEventListener();
            OriginEventSource source   = new OriginEventSource();

            listener.Subscribe(source);
            source.Raise();
            listener = null;
            this.TriggerGC();
            source = null;
            this.TriggerGC();
            this.WaitForAnyKey();
        }
示例#2
0
        private void TestOriginEventPattern()
        {
            OriginEventSource   source   = new OriginEventSource();
            OriginEventListener listener = new OriginEventListener();

            listener.Subscribe(source);

            listener = null;

            this.TriggerGC();
            Console.WriteLine("setted listener to null and invoke TriggerGC()");
            source = null;
            this.TriggerGC();
            Console.WriteLine("setted source to null and invoke TriggerGC()");

            WaitForAnyKey();
        }
示例#3
0
 public void Subscribe(OriginEventSource source)
 {
     WeakEventManager <OriginEventSource, EventArgs> .AddHandler(
         source, "OriginEvent", OnOriginEvent);
 }
示例#4
0
 public void Subscribe(OriginEventSource source)
 {
     source.OriginEvent += this.Source_OriginEvent;
 }