protected override void OnWriting(ConsoleFormatEventArgs args) { if (config.OnConsoleWriting != null) { Writing += config.OnConsoleWriting; } args.IndentationLevel = indentLevel; args.IdentationChars = config.IndentationChars ?? String.Empty; base.OnWriting(args); }
protected virtual void OnWriting(ConsoleFormatEventArgs args) { var handler = Writing; if (handler != null) { var eventHandlers = handler.GetInvocationList(); foreach (var currentHandler in eventHandlers) { var currentSubscriber = (EventedConsoleFormatHandler)currentHandler; try { currentSubscriber(this, args); } catch { } // Esplicito il loop per evitate che un subscriber in eccezione blocchi la propogazione dell'evento per gli altri } } }