ソースを参照

AutoMapper some changes

Exilon 5 年 前
コミット
7708a4af18
1 ファイル変更19 行追加2 行削除
  1. 19 2
      Quick.AutoMapper.pas

+ 19 - 2
Quick.AutoMapper.pas

@@ -5,9 +5,9 @@
   Unit        : Quick.AutoMapper
   Unit        : Quick.AutoMapper
   Description : Auto Mapper object properties
   Description : Auto Mapper object properties
   Author      : Kike Pérez
   Author      : Kike Pérez
-  Version     : 1.4
+  Version     : 1.5
   Created     : 25/08/2018
   Created     : 25/08/2018
-  Modified    : 10/05/2019
+  Modified    : 16/10/2019
 
 
   This file is part of QuickLib: https://github.com/exilon/QuickLib
   This file is part of QuickLib: https://github.com/exilon/QuickLib
 
 
@@ -98,6 +98,13 @@ type
     {$ENDIF}
     {$ENDIF}
   end;
   end;
 
 
+  {$IFNDEF FPC}
+  TMapper = class
+  public
+    class function Map<T : class, constructor>(aSrcObj : TObject) : T;
+  end;
+  {$ENDIF}
+
   TMapper<T : class, constructor> = class
   TMapper<T : class, constructor> = class
   public
   public
     class function Map(aSrcObj : TObject; aCustomMapping: TCustomMapping = nil): T; overload;
     class function Map(aSrcObj : TObject; aCustomMapping: TCustomMapping = nil): T; overload;
@@ -497,4 +504,14 @@ end;
 
 
 {$ENDIF}
 {$ENDIF}
 
 
+{ TMapper }
+
+{$IFNDEF FPC}
+class function TMapper.Map<T>(aSrcObj: TObject): T;
+begin
+  Result := T.Create;
+  TObjMapper.Map(aSrcObj,Result,nil);
+end;
+{$ENDIF}
+
 end.
 end.