private void OnDynamicDiagnosticSourceInvokerInitialized(DiagnosticSourceAssembly.IDynamicInvoker dynamicInvoker) { ConsoleWrite.LineLine($"This {this.GetType().Name} noticed that an" + $" {nameof(DiagnosticSourceAssembly)}.{nameof(DiagnosticSourceAssembly.IDynamicInvoker)} became available." + $" DiagnosticSourceAssemblyName: \"{dynamicInvoker.DiagnosticSourceAssemblyName}\"."); Guid sessionId = Guid.NewGuid(); ConsoleWrite.LineLine($"Settng up {this.GetType().Name} listening session \"{sessionId}\"."); SubscribeToAllSources(); ConsoleWrite.LineLine($"Finished settng up {this.GetType().Name} listening session \"{sessionId}\"."); dynamicInvoker.SubscribeInvalidatedListener(OnDynamicDiagnosticSourceInvokerInvalidated, sessionId); }
private void OnDynamicDiagnosticSourceInvokerInitialized(DiagnosticSourceAssembly.IDynamicInvoker dynamicInvoker, object state) { Random rnd = (Random)state; ConsoleWrite.LineLine($"This {this.GetType().Name} noticed that an" + $" {nameof(DiagnosticSourceAssembly)}.{nameof(DiagnosticSourceAssembly.IDynamicInvoker)} became available." + $" DiagnosticSourceAssemblyName: \"{dynamicInvoker.DiagnosticSourceAssemblyName}\"."); int sessionId = rnd.Next(1000); ConsoleWrite.LineLine($"Initializing new Diagnostic Source generator session \"{sessionId.ToString("000")}\"."); CreateNewSource(ref _diagnosticSource); ConsoleWrite.LineLine($"Finsihed initializing new Diagnostic Source generator session \"{sessionId.ToString("000")}\"."); dynamicInvoker.SubscribeInvalidatedListener(OnDynamicDiagnosticSourceInvokerInvalidated, sessionId); }