Browse Source

Merge pull request #13 from jiffei/patch-1

fix DataTableBuilder 动态方法报错
懒得勤快 5 years ago
parent
commit
d95b6e6c40
1 changed files with 5 additions and 4 deletions
  1. 5 4
      Masuit.Tools/Database/DataTableBuilder.cs

+ 5 - 4
Masuit.Tools/Database/DataTableBuilder.cs

@@ -32,10 +32,11 @@ namespace Masuit.Tools.Database
 
         public static DataTableBuilder<T> CreateBuilder(DataRow dataRecord)
         {
-            var generator = new DynamicMethod("DynamicCreateEntity", typeof(T), new[]
+            DynamicMethod methodCreateEntity = new DynamicMethod("DynamicCreateEntity", typeof(T), new[]
             {
                 typeof(DataRow)
-            }, typeof(T), true).GetILGenerator();
+            }, typeof(T), true);
+            var generator = methodCreateEntity.GetILGenerator();
             var result = generator.DeclareLocal(typeof(T));
             generator.Emit(OpCodes.Newobj, typeof(T).GetConstructor(Type.EmptyTypes));
             generator.Emit(OpCodes.Stloc, result);
@@ -65,8 +66,8 @@ namespace Masuit.Tools.Database
             generator.Emit(OpCodes.Ret);
             return new DataTableBuilder<T>
             {
-                _handler = (Load)new DynamicMethod("DynamicCreateEntity", typeof(T), new[] { typeof(DataRow) }, typeof(T), true).CreateDelegate(typeof(Load))
+                _handler = (Load)methodCreateEntity.CreateDelegate(typeof(Load))
             };
         }
     }
-}
+}