如何获取内存中对象的数据集?

Wou*_*ick 8 delphi generics rtti data-aware tdataset

有谁知道一个TDataSet的后裔,与泛型和RTTI的作品,让我可以写这样的代码,并利用数据感知组件的GUI的?:

...
ds:TDataset<TPerson>;
...

procedure DoStuff;
begin    
  ds:=TDataset<TPerson>.create;
  ds.add(TPerson.Create('A.','Hitler',77));
  ds.add(TPerson.Create('O.','Bin Laden',88));
 end; 
Run Code Online (Sandbox Code Playgroud)

应该是可能的.fielddef可以通过RTTI创建,因为已知数据的确切类型.值也可以来回自动编组,因此您可以查看和编辑类或记录中的数据.

我讨厌必须编写大量无用的编组代码,而已经通过RTTI获得所需的信息.

或者有人曾经写过某种TEnumerable < - > TDataset适配器?

这样的事情是存在的,还是我应该开始写一个?

...

我能找到的最接近的东西是来自Mastering Delphi 7的Marco Cantu的一个(优秀的!)示例,但是代码本身并没有使用泛型,新RTTI系统或属性等新语言功能,而且它没有使用Unicode delphi.自D7以来,TDataset也发生了变化.

Uwe*_*abe 4

TMS Aurelius中包含的 TAureliusDataSet与此非常接近。