Ejemplo n.º 1
0
 public static IAttribute <string> GetString(this IElement element, string property, string defaultValue)
 {
     return(element[property].Convert(
                parse: p => Parsed.Success(p, p),
                serialize: d => d,
                defaultValue: defaultValue));
 }
Ejemplo n.º 2
0
        static Parsed <double> TryParseAngle(string str)
        {
            double value;

            if (double.TryParse(str.StripSuffix("deg"), out value))
            {
                return(Parsed.Success(value, str));
            }

            return(Parsed.Failure <double>(str));
        }
Ejemplo n.º 3
0
        public static IAttribute <string> Value(IElement element)
        {
            var valueFromAttribute = element["Value"];
            var valueFromContent   = element.Content;

            return(valueFromContent
                   .Select(contentValue =>
                           contentValue.HasValue
                                                ? valueFromContent
                                                : valueFromAttribute)
                   .Switch()
                   .Convert(s => Parsed.Success(s, s), s => s, ""));
        }