示例#1
0
        public T ReadValue(IValueReader valueReader)
        {
            if (valueReader is IValueReader <T> )
            {
                return(((IValueReader <T>)valueReader).ReadValue());
            }

            return(DConvert <T> .Convert(valueReader.DirectRead()));
        }
示例#2
0
        public T ReadValue(IValueReader valueReader)
        {
            if (valueReader is IValueReader <T> )
            {
                return(((IValueReader <T>)valueReader).ReadValue());
            }

            object directValue = valueReader.DirectRead();

            if (directValue is T || directValue == null)
            {
                return((T)directValue);
            }

            return(DConvert <T> .Convert(directValue));
        }
示例#3
0
        public T?ReadValue(IValueReader valueReader)
        {
            if (valueReader.GetBasicType() == BasicTypes.Null)
            {
                var directValue = valueReader.DirectRead();

                if (directValue == null)
                {
                    return(null);
                }

                return(DConvert <T> .Convert(directValue));
            }

            return(ValueInterface <T> .Content.ReadValue(valueReader));
        }
示例#4
0
        public TimeSpan ReadValue(IValueReader valueReader)
        {
            object directValue = valueReader.DirectRead();

            if (directValue is TimeSpan)
            {
                return((TimeSpan)directValue);
            }

            if (directValue is string)
            {
                return(TimeSpan.Parse((string)directValue));
            }

            return(DConvert <TimeSpan> .Convert(directValue));
        }
示例#5
0
        public DateTimeOffset ReadValue(IValueReader valueReader)
        {
            if (valueReader is IValueReader <DateTimeOffset> dateTimeOffsetReader)
            {
                return(dateTimeOffsetReader.ReadValue());
            }

            object directValue = valueReader.DirectRead();

            if (directValue is DateTimeOffset)
            {
                return((DateTimeOffset)directValue);
            }

            if (directValue is string)
            {
                return(DateTimeOffset.Parse((string)directValue));
            }

            return(DConvert <DateTimeOffset> .Convert(directValue));
        }