public override fsResult TryDeserialize(fsData data, ref object instance, Type storageType) { fsResult result = fsResult.Success; var collection = new T(); foreach (fsData serializedItem in data.AsList) { var item = default(T2); fsResult itemResult; if ((itemResult = Serializer.TryDeserialize(serializedItem, ref item)).Succeeded) { collection.Add(item); } result.Merge(itemResult); } instance = collection; return(result); }
public override fsResult TrySerialize(object instance, out fsData serialized, Type storageType) { fsResult result = fsResult.Success; List <fsData> items = new List <fsData>(); foreach (var item in (T)instance) { fsData itemData; fsResult itemResult; if ((itemResult = Serializer.TrySerialize(item, out itemData)).Succeeded) { items.Add(itemData); } result.Merge(itemResult); } serialized = new fsData(items); return(result); }