فهرست منبع

修复客户端mongo bson库找不到DynamicMethod方法的错误

tanghai 7 سال پیش
والد
کامیت
dfcebe2ff7
2فایلهای تغییر یافته به همراه2 افزوده شده و 12 حذف شده
  1. 1 0
      .gitignore
  2. 1 12
      Unity/Assets/ThirdParty/MongoDB/MongoDB.Bson/Serialization/BsonMemberMap.cs

+ 1 - 0
.gitignore

@@ -48,3 +48,4 @@ Server/.DS_Store
 .vs/
 .objs/
 /Unity/.gradle
+/*.user

+ 1 - 12
Unity/Assets/ThirdParty/MongoDB/MongoDB.Bson/Serialization/BsonMemberMap.cs

@@ -580,18 +580,7 @@ namespace MongoDB.Bson.Serialization
                 throw new BsonSerializationException(message);
             }
 
-            var sourceType = fieldInfo.DeclaringType;
-            var method = new DynamicMethod("Set" + fieldInfo.Name, null, new[] { typeof(object), typeof(object) }, true);
-            var gen = method.GetILGenerator();
-
-            gen.Emit(OpCodes.Ldarg_0);
-            gen.Emit(OpCodes.Castclass, sourceType);
-            gen.Emit(OpCodes.Ldarg_1);
-            gen.Emit(OpCodes.Unbox_Any, fieldInfo.FieldType);
-            gen.Emit(OpCodes.Stfld, fieldInfo);
-            gen.Emit(OpCodes.Ret);
-
-            return (Action<object, object>)method.CreateDelegate(typeof(Action<object, object>));
+            return (obj, value) => { fieldInfo.SetValue(obj, value); };
         }
 
         private Func<object, object> GetGetter()