Einzelnen Beitrag anzeigen

mytbo

Registriert seit: 8. Jan 2007
461 Beiträge
 
#4

AW: Alle Eigenschaften einer komplexen Datenklasse

  Alt 5. Dez 2022, 22:29
ich möchte für eine Klasse etwas schreiben das alle Eigenschaften derselben benutzt. (Vorerst ein unit-test)
Ich verstehe nicht, was du machen willst. Mit Eigenschaften meinst du Properties? Was meinst du mit "benutzt"? Mit RTTI lässt sich einiges bewerkstelligen:
Delphi-Quellcode:
type
  TTestObject = class(TObject)
  private
    FValue1: String;
  public
    property Value1: String
      read FValue1 write FValue1;
  end;

var
  rttiType: TRttiType;
  rttiProp: TRttiProperty;
  rttiPropType: TRttiType;
begin
  rttiType := TRttiContext.Create.GetType(TTestObject);
  for rttiProp in rttiType.GetDeclaredProperties do
  begin
    if rttiProp.Visibility = mvPublic then
    begin
      rttiPropType := rttiProp.PropertyType;
      if rttiPropType.Handle = TypeInfo(String) then
        ShowMessage(Format('Gefunden: %s', [rttiProp.Name]));
    end;
  end;
end;
Du könntest mit mORMot die published Eigenschaften einer Klasse JSON serialisieren. Die Werte in der JSON-Datei ändern und es zurückspielen. Das sind nur zwei Funktionsaufrufe.

Bis bald...
Thomas
  Mit Zitat antworten Zitat