public void AddReactContent(ReactArtifactTagHelper reactArtifactTagHelper, string content)
 {
     if (reactArtifactTagHelper?.ProducesGlobalReactContent != true && this.ReactContentProcessors.TryPeek(out var currentProcessor))
     {
         content += Environment.NewLine;
         var eventArgs = new ContentReceivedEventArgs()
         {
             Content = content,
             Owner   = reactArtifactTagHelper,
             Handled = false,
         };
         currentProcessor(eventArgs);
     }
     else
     {
         this.ReactContent.Add((0, content));
     }
 }
        private string ProcessContent(Action <ContentReceivedEventArgs> receivedEvent,
                                      ReactArtifactTagHelper owner,
                                      string content)
        {
            content += Environment.NewLine;
            var eventArgs = new ContentReceivedEventArgs()
            {
                Content = content,
                Owner   = owner,
                Handled = false,
            };

            receivedEvent?.Invoke(eventArgs);
            if (!eventArgs.Handled)
            {
                return(content);
            }
            return(null);
        }
 protected void TimerDispatcher(object sender, EventArgs e)
 {
     if (_dispatchCount < 200)
     {
         string content = $"Dispatch counter = {_dispatchCount}";
         if (0 == _dispatchCount % 2)
         {
             content = " " + content;
         }
         var eventArgs = new ContentReceivedEventArgs(content);
         ContentReceivedEventHandler?.Invoke(this, eventArgs);
         _dispatchCount++;
         Debug.Write($"{DateTime.Now} {content}");
     }
     else
     {
         _contentWindow.Finish();
     }
 }
 /// <summary>
 /// Data received event handler.
 /// </summary>
 /// <param name="sender">Event sender.</param>
 /// <param name="e">Event argument.</param>
 public void OnContentReceived(object sender, ContentReceivedEventArgs e)
 {
     ContentReceivedEvent?.Invoke(sender, e);
 }