Example #1
0
        public static void Exercise5(string[] args)
        {
            LogHandlerBase fatal = new HandleFatal();
            LogHandlerBase error = new HandleError();
            LogHandlerBase info  = new HandleInfo();

            LogHandlerBase chainRoot = fatal;

            fatal.SetNext(error);
            error.SetNext(info);

            chainRoot.Handle($"info message ", 3);
            chainRoot.Handle($"error message ", 2);
            chainRoot.Handle($"fatal message ", 1);

            // ###### Oposite order
            Console.WriteLine("================== Oposite order now: ================");
            LogHandlerBase chainRootOp = info;

            info.SetNext(error);
            error.SetNext(fatal);

            chainRootOp.Handle($"info message ", 3);
            chainRootOp.Handle($"error message ", 2);
            chainRootOp.Handle($"fatal message ", 1);
        }
Example #2
0
 public void SetNext(LogHandlerBase next)
 {
     this.next = next;
 }