소스 검색

[yamlSerializer] added SerializationLevel property

Exilon 5 년 전
부모
커밋
efbc8208da
1개의 변경된 파일8개의 추가작업 그리고 1개의 파일을 삭제
  1. 8 1
      Quick.YAML.Serializer.pas

+ 8 - 1
Quick.YAML.Serializer.pas

@@ -151,10 +151,11 @@ type
   private
     procedure SetUseEnumNames(const Value: Boolean);
     procedure SetUseYamlCaseSense(const Value: Boolean);
+    procedure SetSerializeLevel(const Value: TSerializeLevel);
   public
     constructor Create(aSerializeLevel: TSerializeLevel; aUseEnumNames : Boolean = True);
     destructor Destroy; override;
-    property SerializeLevel : TSerializeLevel read fSerializeLevel;
+    property SerializeLevel : TSerializeLevel read fSerializeLevel write SetSerializeLevel;
     property UseEnumNames : Boolean read fUseEnumNames write SetUseEnumNames;
     property UseYamlCaseSense : Boolean read fUseYamlCaseSense write SetUseYamlCaseSense;
     function YamlToObject(aType : TClass; const aYaml: string) : TObject; overload;
@@ -1542,6 +1543,12 @@ begin
   end;
 end;
 
+procedure TYamlSerializer.SetSerializeLevel(const Value: TSerializeLevel);
+begin
+  fSerializeLevel := Value;
+  if Assigned(fRTTIYaml) then fRTTIYaml.fSerializeLevel := Value;
+end;
+
 procedure TYamlSerializer.SetUseEnumNames(const Value: Boolean);
 begin
   fUseEnumNames := Value;