Serialization question

It could, but I have a base class that I can derive from which has implemented in the base


LoadFrom
SaveTo

Strings, Streams, Files 

and my method allows for that.

I also use a Generic TObjectList to do the same kind of thing.

e.g.
procedure TBEObjectList<T>.LoadFromStream(const Stream: TStream; const ITS : TInstanceTypeSerialization = TInstanceTypeSerialization.IfNeeded);
var V : TValue;
    JD : TJsonDeserializer;
    TT :  TTypeToken;
begin
 Clear;
 V := TValue.From(Self);
 TT := TTypeToken.Create( V.TypeInfo);
 JD := TJsonDeserializer.Create;
 JD.Converters.ObjectConverterFactory.InstanceTypeSerialization := ITS;
 try
  Stream.Position := 0;
  JD.Read(Stream, V, TT);
 finally
  JD.Free;
 end;
end;