Ejemplo n.º 1
0
        /// <summary>
        /// Closes the current <see cref="Group"/>.
        /// </summary>
        /// <param name="conclusion">
        /// Optional object text (usually a string but can be any object with an
        /// overriden <see cref="Object.ToString"/> method) to conclude the group.
        /// </param>
        public virtual void CloseGroup(object conclusion = null)
        {
            Group g = _current;

            if (g != null)
            {
                conclusion = g.GroupClose(conclusion);
                var conclusions = new List <ActivityLogGroupConclusion>();
                if (conclusion != null)
                {
                    conclusions.Add(new ActivityLogGroupConclusion(conclusion, this));
                }
                _output.OnGroupClosing(g, conclusions);
                --_depth;
                Filter   = g.Filter;
                _current = (Group)g.Parent;
                _output.OnGroupClosed(g, conclusions.ToReadOnlyList());
            }
        }