WCFAppender_log4net.Interface.LoggingEventWrapper.GetReconstructedLoggingEvent C# (CSharp) Метод

GetReconstructedLoggingEvent() публичный Метод

public GetReconstructedLoggingEvent ( ILoggerRepository renderingRepo ) : log4net.Core.LoggingEvent
renderingRepo ILoggerRepository
Результат log4net.Core.LoggingEvent
        public LoggingEvent GetReconstructedLoggingEvent(ILoggerRepository renderingRepo)
        {
            LoggingEvent ret = new LoggingEvent(null, renderingRepo, null, _LoggingEvent.Level, _MessageObject, _LoggedException);

            BindingFlags eFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
            FieldInfo pi;

            LoggingEventData data = _LoggingEvent.GetLoggingEventData(FixFlags.None);
            //reset message so it gets rendered again
            data.Message = null;

            pi = ret.GetType().GetField("m_data", eFlags);
            if (pi != null)
            {
                pi.SetValue(ret, data);
            }

            //reflectivly set the rest of the properties.
            ret.Fix = FixFlags.Exception | FixFlags.Message;
            return ret;
        }