/// <summary> /// Initializes a new instance of the <see cref="TraceMethod"/> class. /// </summary> /// <param name="ri">The ri.</param> /// <param name="message">The message.</param> internal TraceMethod(ReflectInsight ri, String message) { RI = ri; Message = message ?? "(null)"; Disposed = false; ControlValues = RequestManager.GetRequestObject(); TraceStates = ControlValues.GetState <TraceMethodState>("TraceMethodState"); if (TraceStates == null) { // must be parent trace method TraceStates = new TraceMethodState() { TraceLevel = 0, ExceptionHandled = false }; ControlValues.AddState("TraceMethodState", TraceStates); } RICustomData cData = null; if (cData == null) { RI.EnterMethod(Message); } else { FSendMethodInfo.Invoke(RI, new object[] { MessageType.EnterMethod, message, cData, new object[] { } }); } LastIndentLevel = ReflectInsight.IndentLevel; TraceStates.TraceLevel++; }