ConfigXmlComment
using System.Configuration.Internal;
using System.Xml;
namespace System.Configuration
{
    internal sealed class ConfigXmlComment : XmlComment, IConfigErrorInfo
    {
        private string _filename;
        private int _line;
        int IConfigErrorInfo.LineNumber {
            get {
                return _line;
            }
        }
        string IConfigErrorInfo.Filename {
            get {
                return _filename;
            }
        }
        public ConfigXmlComment(string filename, int line, string comment, XmlDocument doc)
            : base(comment, doc)
        {
            _line = line;
            _filename = filename;
        }
        public override XmlNode CloneNode(bool deep)
        {
            XmlNode xmlNode = base.CloneNode(deep);
            ConfigXmlComment configXmlComment = xmlNode as ConfigXmlComment;
            if (configXmlComment != null) {
                configXmlComment._line = _line;
                configXmlComment._filename = _filename;
            }
            return xmlNode;
        }
    }
}