Ejemplo n.º 1
0
 private static DeserializeDelegate deserializeEnum(ScriptInfoSerializeHelper target, Type fieldType)
 {
     return((obj, value) =>
     {
         try
         {
             target.SetValue(obj, Enum.Parse(fieldType, value, true));
         }
         catch (FormatException)
         {
             target.SetValue(obj, target.defaultValue);
         }
     });
 }
Ejemplo n.º 2
0
 private static DeserializeDelegate deserializeCustom(ScriptInfoSerializeHelper target, DeserializerDelegate deserializer)
 {
     return((obj, value) =>
     {
         try
         {
             target.SetValue(obj, deserializer(value));
         }
         catch (FormatException)
         {
             target.SetValue(obj, target.defaultValue);
         }
     });
 }
Ejemplo n.º 3
0
 private static DeserializeDelegate deserializeDefault(ScriptInfoSerializeHelper target, Type fieldType)
 {
     return((obj, value) =>
     {
         try
         {
             target.SetValue(obj, Convert.ChangeType(value, fieldType, FormatHelper.DefaultFormat));
         }
         catch (FormatException)
         {
             target.SetValue(obj, target.defaultValue);
         }
     });
 }
Ejemplo n.º 4
0
 private static DeserializeDelegate deserializeNullableExact(ScriptInfoSerializeHelper target, Type fieldType, Type innerType)
 {
     return((obj, value) =>
     {
         if (string.IsNullOrWhiteSpace(value))
         {
             target.SetValue(obj, target.defaultValue);
         }
         else
         {
             var innerValue = Convert.ChangeType(value, innerType, FormatHelper.DefaultFormat);
             var nullable = Activator.CreateInstance(fieldType, new object[] { innerValue });
             target.SetValue(obj, nullable);
         }
     });
 }
Ejemplo n.º 5
0
 private static DeserializeDelegate deserializeEnumExact(ScriptInfoSerializeHelper target, Type fieldType)
 {
     return((obj, value) => target.SetValue(obj, Enum.Parse(fieldType, value, true)));
 }
Ejemplo n.º 6
0
 private static DeserializeDelegate deserializeCustomExact(ScriptInfoSerializeHelper target, DeserializerDelegate deserializer)
 {
     return((obj, value) => target.SetValue(obj, deserializer(value)));
 }
Ejemplo n.º 7
0
 private static DeserializeDelegate deserializeDefaultExact(ScriptInfoSerializeHelper target, Type fieldType)
 {
     return((obj, value) => target.SetValue(obj, Convert.ChangeType(value, fieldType, FormatHelper.DefaultFormat)));
 }