示例#1
0
        /// <summary>
        /// XML 属性から XmlFormatException を初期化する
        /// </summary>
        /// <param name="attr">エラーの発生した XML 属性</param>
        /// <returns>指定の XML 属性の情報で初期化した XmlFormatException</returns>
        public static XmlFormatException CreateFrom(XAttribute?attr,
                                                    Exception?innerException = null)
        {
            var exception = new XmlFormatException("XML format is invalid.", innerException);

            exception.Input  = attr?.Value ?? "<null>";
            exception.Parent = attr?.Parent?.ToString() ?? "<null>";
            return(exception);
        }
示例#2
0
 /// <summary>
 /// XML 属性の値を int として取得する
 /// </summary>
 /// <param name="attr">値を取得する XML 属性</param>
 /// <returns>変換済みの属性値</returns>
 /// <exception cref="XmlFormatException">属性が無い、または無効な値の場合</exception>
 public static int GetInt(this XAttribute?attr)
 {
     try
     {
         var value = attr?.Value ?? throw XmlFormatException.CreateFrom(attr);
         return(int.Parse(value, CultureInfo.InvariantCulture));
     }
     catch (SystemException exception)
     {
         throw XmlFormatException.CreateFrom(attr, exception);
     }
 }