if (Field <> Default) then Builder.Add('field', Field);
in eine Methode auslagern, da prüfen und wenn True, vorher schauen, ob das Objekt angelegt wurde und wenn nicht, dann das BeginObject und danach das Add
Am Ende auch nur das EndObject, wenn das Objekt existiert.
Ja, so ähnlich hatte ich die Funktionalität in meinem eigenen "Builder Framework" implementiert (als es das noch nicht in der
RTL gab). Vermutlich die bessere Alternative zu dem Stream Gewusel
Eine Frage die garantiert nicht weiterhilft: Ist das denn schlimm wenn da ein "leeres Objekt" ist? Als Mensch hätte ich direkt gesehen "Ja, 'test' ist belegt und darin ist nichts besonderes mehr das vom Standard abweicht".
Schlimm nicht, bloß möchte ich das Format bewusst möglichst gut lesbar gestalten. Konkret handelt es sich um diese Datei:
https://github.com/zyantific/zydis-d...tructions.json
Jede einzelne Instruction kann z.b. bis zu 10 Operanden besitzen. Wenn ich da jetzt für jeden möglichen Eintrag ein leeres Objekt anlege, kann das doch ziemlich schnell unübersichtlich werden.