public static TypeConfig AfterDeserialize <T>(this TypeConfig config, Func <T, Object> afterDeserialize, double weight = 1.0)
 {
     if (afterDeserialize == null)
     {
         return(config);
     }
     return(config.AfterDeserialize((t, o) => afterDeserialize(o.AssertCast <T>()), weight));
 }
 public static TypeConfig AfterDeserialize(this TypeConfig config, IEnumerable <Action <Type, Object> > afterDeserializes)
 {
     (afterDeserializes ?? Seq.Empty <Action <Type, Object> >()).ForEach(afterDeserialize => config.AfterDeserialize(afterDeserialize));
     return(config);
 }
 public static TypeConfig AfterDeserialize(this TypeConfig config, params Action <Type, Object>[] afterDeserializes)
 {
     return(config.AfterDeserialize((IEnumerable <Action <Type, Object> >)afterDeserializes));
 }