3

因此,例如如何序列化这样的对象:

unit u_Configuration;

interface

uses
  Classes,
  Generics.Collections,
  OmniXML,
  OmniXMLPersistent
  ;

type
  TMyObject = class (TPersistent)
    strict private
      fName : String;
    public
    published
      property Name: String read fName write fName;
  end;

  TConfiguration = class(TPersistent)
    strict private
      fTheList : TList<TMyObject>;
    private
    public
    published
      property TheList: TList<TMyObject> read fTheList write fTheList;

  end;

implementation

end.
4

1 回答 1

2

OmniXML 序列化 TPersistent 的后代。它序列化它们的属性,但是对于具有对象类型的属性,只有 TPersistent 的后代被序列化。TList 源自 TEnumerable,后者源自 TObject,因此它不符合条件。OmniXML 为 TCollection 内置了特殊处理。

您可以手动序列化其他类。

于 2013-02-25T19:05:48.243 回答