Пример #1
0
        static void Main()
        {
            var observable = new ObservableNumbers();

            Action <int> action = n => Console.WriteLine(n);

            observable.Subscribe(action);

            observable.Unsubscribe(action);
        }
Пример #2
0
        public static void Main()
        {
            var observable = new ObservableNumbers();

            //Action<int> action = n => Console.WriteLine(n);

            observable.Subscribe(n => Console.WriteLine(n));
            //observable.UnSubscribe(n => Console.WriteLine(n));

            /*
             * Subscribe to the number sequence => Provide a lambda
             * Unsubscribe => Provide the same lambda
             * => MEMORY LEAK because lambdas/delegates are immutable => 2 methods 2 different delegates
             * => UnSubscribe method is non-sense.
             * => Need to be mitigated by client code (Action, IDisposable,...)
             */
        }