/// <inheritdoc/> protected override void OnOperationSuccess(OperationSuccessDiagnosticData data) { if (data is null) { return; } if (_operationBuilders.TryGetValue(data.Operation, out var builder)) { try { builder.Outdent(); builder.AppendLine(TracerMessages.ExitBrace); builder.AppendFormattedLine(TracerMessages.OperationSucceeded, data.ResolvedInstance); OnOperationCompleted(new OperationTraceCompletedArgs <string>(data.Operation, true, builder.ToString())); } finally { _operationBuilders.TryRemove(data.Operation, out var _); } } }
/// <summary> /// Handles the event raised when a resolve operation completes successfully. /// </summary> /// <param name="data"> /// Diagnostic data associated with the event. /// </param> /// <remarks> /// <para> /// Derived classes can override this method and perform actions based /// on the event. By default, the base class does nothing. /// </para> /// </remarks> protected virtual void OnOperationSuccess(OperationSuccessDiagnosticData data) { }