2

TDateTime で TValue を変換するにはどうすればよいですか?

AsInteger、AsDouble などのメソッドがありますが、TDateTime には何もありません。

var
  c : TRttiContext;
  t : TRttiType;
  f : TRttiField;
  fieldValue : TValue;
  fieldDateValue : TDateTime;
begin
  c := TRttiContext.Create;
    t := c.GetType(Self.ClassType);
    for f in t.GetFields do begin
      fieldValue := field.GetValue(Self);
      //convert the TValue in TDateTime
    end;
end;
4

1 に答える 1

5

具体的なAsXXXメソッド ( などAsInteger) は、一部の組み込み型への単なるショートカットです (また、特定の型の最適化を使用して実装されているものもあります)。ただし、 a から任意の型を取得するにTValueは、メソッドを使用できますAsType<T>

于 2014-07-02T09:46:47.457 に答える