Beispiel #1
0
        public void Log(object sender, MessageLoggedEventArgs e)
        {
            if (sender == null)
            {
                throw new ArgumentNullException(nameof(sender));
            }

            if (e == null)
            {
                throw new ArgumentNullException(nameof(e));
            }

            Delegate[] list;
            lock (_lock)
            {
                list = MessageLogged?.GetInvocationList();
            }

            if (list == null)
            {
                return;
            }

            for (var i = 0; i < list.Length; i++)
            {
                var handler = list[i] as EventHandler <MessageLoggedEventArgs>;
                try
                {
                    handler(sender, e);
                }
                catch { }
            }
        }