PropertySourceInfo
using System.Configuration.Internal;
using System.Xml;
namespace System.Configuration
{
internal sealed class PropertySourceInfo
{
internal string FileName { get; }
internal int LineNumber { get; }
internal PropertySourceInfo(XmlReader reader)
{
FileName = GetFilename(reader);
LineNumber = GetLineNumber(reader);
}
private string GetFilename(XmlReader reader)
{
IConfigErrorInfo configErrorInfo = reader as IConfigErrorInfo;
if (configErrorInfo == null)
return "";
return configErrorInfo.Filename;
}
private int GetLineNumber(XmlReader reader)
{
return (reader as IConfigErrorInfo)?.LineNumber ?? 0;
}
}
}