コード例 #1
0
        internal void BeginSection(string Header, MessageEventArgs e)
        {
            QuerySection Section;

            lock (this.result)
            {
                if (this.currentSection != null)
                {
                    Section = new QuerySection(this.currentSection, Header);

                    this.currentSection.Add(Section);
                }
                else
                {
                    Section = new QuerySection(null, Header);

                    this.result.Add(Section);
                    this.resultFixed = null;
                }

                this.currentSection = Section;
            }

            this.Invoke(this.SectionAdded, Section, e);
        }
コード例 #2
0
 private void Invoke(NodeQuerySectionEventHandler Callback, QuerySection Section, MessageEventArgs e)
 {
     try
     {
         Callback?.Invoke(this, new NodeQuerySectionEventArgs(Section, this, e));
     }
     catch (Exception ex)
     {
         Log.Critical(ex);
     }
 }
コード例 #3
0
        internal void EndSection(MessageEventArgs e)
        {
            QuerySection Section;

            lock (this.result)
            {
                if (this.currentSection is null)
                {
                    return;
                }

                Section             = this.currentSection;
                this.currentSection = this.currentSection.Parent as QuerySection;
            }

            this.Invoke(this.SectionCompleted, Section, e);
        }