Ejemplo n.º 1
0
        public static bool CanConvertElements(Type sourceElementType, Type targetElementType, IConversionService conversionService)
        {
            if (targetElementType == null)
            {
                // yes
                return(true);
            }

            if (sourceElementType == null)
            {
                // maybe
                return(true);
            }

            if (conversionService.CanConvert(sourceElementType, targetElementType))
            {
                // yes
                return(true);
            }

            if (sourceElementType.IsAssignableFrom(targetElementType))
            {
                // maybe
                return(true);
            }

            // no
            return(false);
        }
Ejemplo n.º 2
0
 public object FromMessage(IMessage message, Type targetClass)
 {
     if (_conversionService.CanConvert(message.Payload.GetType(), targetClass))
     {
         return(_conversionService.Convert(message.Payload, message.Payload.GetType(), targetClass));
     }
     else
     {
         return(null);
     }
 }
Ejemplo n.º 3
0
        public override object FromMessage(IMessage message, Type targetClass)
        {
            var payload = message.Payload;

            if (_conversionService.CanConvert(payload.GetType(), targetClass))
            {
                try
                {
                    return(_conversionService.Convert(payload, payload.GetType(), targetClass));
                }
                catch (ConversionException ex)
                {
                    throw new MessageConversionException(message, "Failed to convert message payload '" + payload + "' to '" + targetClass.Name + "'", ex);
                }
            }

            return(targetClass.IsInstanceOfType(payload) ? payload : null);
        }