Exemple #1
0
 private static SerializeDelegate serialize(ScriptInfoSerializeHelper target, SerializerDelegate serializer)
 {
     return(obj =>
     {
         var value = target.GetValue(obj) ?? target.defaultValue;
         return string.Format(FormatHelper.DefaultFormat, target.format, serializer(value));
     });
 }
Exemple #2
0
 private static SerializeDelegate serializeOptional(ScriptInfoSerializeHelper target, SerializerDelegate serializer)
 {
     return(obj =>
     {
         var value = target.GetValue(obj);
         if (value == null || value == target.defaultValue)
         {
             return null;
         }
         return string.Format(FormatHelper.DefaultFormat, target.format, serializer(value));
     });
 }
Exemple #3
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);
         }
     });
 }
Exemple #4
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);
         }
     });
 }
Exemple #5
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);
         }
     });
 }
Exemple #6
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);
         }
     });
 }
Exemple #7
0
 private static DeserializeDelegate deserializeEnumExact(ScriptInfoSerializeHelper target, Type fieldType)
 {
     return((obj, value) => target.SetValue(obj, Enum.Parse(fieldType, value, true)));
 }
Exemple #8
0
 private static DeserializeDelegate deserializeCustomExact(ScriptInfoSerializeHelper target, DeserializerDelegate deserializer)
 {
     return((obj, value) => target.SetValue(obj, deserializer(value)));
 }
Exemple #9
0
 private static DeserializeDelegate deserializeDefaultExact(ScriptInfoSerializeHelper target, Type fieldType)
 {
     return((obj, value) => target.SetValue(obj, Convert.ChangeType(value, fieldType, FormatHelper.DefaultFormat)));
 }