コード例 #1
0
 private object MatchConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType, ConvertToDel baseConvertTo) =>
     (value as IOptional)?.MatchUntyped(
         Some: x  => IsSomeConvertTo(x, context, culture, value, destinationType, baseConvertTo),
         None: () => ConvertToValueNull(context, culture, destinationType, baseConvertTo));
コード例 #2
0
 private object SimpleConvertTo(object x, ITypeDescriptorContext context, CultureInfo culture, Type destinationType, ConvertToDel baseConvertTo) =>
     simpleTypeConverter == null
         ? baseConvertTo(context, culture, x, destinationType)
         : simpleTypeConverter.ConvertTo(context, culture, x, destinationType);
コード例 #3
0
 private object IsSomeConvertTo(object x, ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType, ConvertToDel baseConvertTo) =>
     destinationType == simpleType                   ? x
   : destinationType == typeof(InstanceDescriptor)   ? NewInstanceDesc(value)
   : isnull(x)                                       ? ConvertToValueNull(context, culture, destinationType, baseConvertTo)
   : SimpleConvertTo(x,context,culture,destinationType,baseConvertTo);
コード例 #4
0
 public object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType, ConvertToDel baseConvertTo) =>
     isnull(value)
         ? ConvertToValueNull(context, culture, destinationType, baseConvertTo)
         : MatchConvertTo(context, culture, value, destinationType, baseConvertTo);
コード例 #5
0
 private object ConvertToValueNull(ITypeDescriptorContext context, CultureInfo culture, Type destinationType, ConvertToDel baseConvertTo ) =>
     destinationType == typeof(string)
         ? String.Empty
         : baseConvertTo(context, culture, null, destinationType);
コード例 #6
0
 private object MatchConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType, ConvertToDel baseConvertTo) =>
 (value as IOptional)?.MatchUntyped(
     Some: x => IsSomeConvertTo(x, context, culture, value, destinationType, baseConvertTo),
     None: () => ConvertToValueNull(context, culture, destinationType, baseConvertTo));
コード例 #7
0
 private object IsSomeConvertTo(object x, ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType, ConvertToDel baseConvertTo) =>
 destinationType == simpleType                   ? x
   : destinationType == typeof(InstanceDescriptor)   ? NewInstanceDesc(value)
   : isnull(x)                                       ? ConvertToValueNull(context, culture, destinationType, baseConvertTo)
   : SimpleConvertTo(x, context, culture, destinationType, baseConvertTo);
コード例 #8
0
 private object SimpleConvertTo(object x, ITypeDescriptorContext context, CultureInfo culture, Type destinationType, ConvertToDel baseConvertTo) =>
 simpleTypeConverter == null
         ? baseConvertTo(context, culture, x, destinationType)
         : simpleTypeConverter.ConvertTo(context, culture, x, destinationType);
コード例 #9
0
 private object ConvertToValueNull(ITypeDescriptorContext context, CultureInfo culture, Type destinationType, ConvertToDel baseConvertTo) =>
 destinationType == typeof(string)
         ? String.Empty
         : baseConvertTo(context, culture, null, destinationType);
コード例 #10
0
 public object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType, ConvertToDel baseConvertTo) =>
 isnull(value)
         ? ConvertToValueNull(context, culture, destinationType, baseConvertTo)
         : MatchConvertTo(context, culture, value, destinationType, baseConvertTo);