示例#1
0
        public object Get(INXmlElementReader nodeReader)
        {
            var typeName = nodeReader.Attributes.Get("type");
            var type     = typeFinder.GetType(typeName);

            return(Enum.Parse(type.GetTargetType(), nodeReader.GetPayload().Trim()));
        }
示例#2
0
        public object Get(INXmlElementReader nodeReader)
        {
            object value;

            var data = nodeReader.GetPayload().Trim();

            switch (data)
            {
            case "max":
            {
                value = double.MaxValue;
                break;
            }

            case "min":
            {
                value = double.MinValue;
                break;
            }

            case "posinfinity":
            {
                value = double.PositiveInfinity;
                break;
            }

            case "neginfinity":
            {
                value = double.NegativeInfinity;
                break;
            }

            case "nan":
            {
                value = double.NaN;
                break;
            }

            default:
            {
                try
                {
                    value = double.Parse(data);
                }
                catch (Exception)
                {
                    throw new NXmlReaderFormatException(
                              string.Format("Unable to read double value '{0}'.", data));
                }
                break;
            }
            }

            return(value);
        }
示例#3
0
        public object Get(INXmlElementReader nodeReader)
        {
            object value;

            var data = nodeReader.GetPayload().Trim();
            switch (data)
            {
                case "max":
                    {
                        value = double.MaxValue;
                        break;
                    }
                case "min":
                    {
                        value = double.MinValue;
                        break;
                    }
                case "posinfinity":
                    {
                        value = double.PositiveInfinity;
                        break;
                    }
                case "neginfinity":
                    {
                        value = double.NegativeInfinity;
                        break;
                    }
                case "nan":
                    {
                        value = double.NaN;
                        break;
                    }
                default:
                    {
                        try
                        {
                            value = double.Parse(data);
                        }
                        catch (Exception)
                        {
                            throw new NXmlReaderFormatException(
                                string.Format("Unable to read double value '{0}'.", data));
                        }
                        break;
                    }
            }

            return value;
        }
示例#4
0
 public object Get(INXmlElementReader nodeReader)
 {
     var typeName = nodeReader.Attributes.Get("type");
     var type = typeFinder.GetType(typeName);
     return Enum.Parse(type.GetTargetType(), nodeReader.GetPayload().Trim());
 }