- Timestamp:
- 06/01/17 11:29:49 (7 years ago)
- Location:
- branches/PersistenceReintegration/HeuristicLab.Persistence/4.0/Core
- Files:
-
- 1 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PersistenceReintegration/HeuristicLab.Persistence/4.0/Core/TypeInfo.cs
r14927 r15018 120 120 var ctor = Type.GetConstructors(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) 121 121 .Where(x => StorableConstructorAttribute.IsStorableConstructor(x)) 122 .Where(x => (x.GetParameters().Length == 1) && (x.GetParameters()[0].ParameterType == typeof( bool)))122 .Where(x => (x.GetParameters().Length == 1) && (x.GetParameters()[0].ParameterType == typeof(StorableConstructorFlag))) 123 123 .FirstOrDefault(); 124 124 if (ctor != null) { 125 125 DynamicMethod dm = new DynamicMethod("", typeof(object), null, Type, true); 126 126 ILGenerator ilgen = dm.GetILGenerator(); 127 ilgen.Emit(OpCodes.Ldc_I4_1); // load true 127 var local = ilgen.DeclareLocal(typeof(StorableConstructorFlag)); 128 ilgen.Emit(OpCodes.Ldloca_S, local); 129 ilgen.Emit(OpCodes.Initobj, typeof(StorableConstructorFlag)); // load default value for StorableConstructorFlag 130 ilgen.Emit(OpCodes.Ldloc_0); 128 131 ilgen.Emit(OpCodes.Newobj, ctor); 129 132 ilgen.Emit(OpCodes.Ret);
Note: See TracChangeset
for help on using the changeset viewer.