示例#1
0
        private object GetValue(XObject mandatory, PropertyCache propertyCache, object value, XElement elm)
        {
            var final = mandatory == null ? null : GetValueInternal(propertyCache.Property.PropertyType, value, elm);

            var attrib = propertyCache.GetAttribute <PropertyParameterAttribute>();

            if (attrib != null)
            {
                Enum prop;

                if (ReflectionCacheManager.GetEnumName(typeof(Property)).Cache.NameCache.TryGetValue(attrib.Name, out prop))
                {
                    var converter = prop.GetEnumFieldCache().GetAttributes <ValueConverterAttribute>().FirstOrDefault();

                    if (converter != null)
                    {
                        return(converter.Converter.Deserialize(final));
                    }
                }
            }

            return(final);
        }