/// <summary> /// Called when a method is entered. /// </summary> /// <param name="m"></param> /// <param name="logOptions"></param> /// <returns></returns> internal LogMethodEntry LogMethodEnter(MethodInfo m, ServiceLogMethodOptions logOptions) { Debug.Assert(logOptions != 0); LogMethodEntry me = new LogMethodEntry(); if ((logOptions & ServiceLogMethodOptions.Leave) == 0) { me.InitClose(++_nextLSN, _currentDepth, m); // Emits the "Created" event. EventHandler <LogEventArgs> h = EventCreated; if (h != null) { h(_eventSender, me); } } else { me.InitOpen(++_nextLSN, _currentDepth++, m); // Emits the "Creating" event. EventHandler <LogEventArgs> h = EventCreating; if (h != null) { h(_eventSender, me); } } return(me); }