Fix data consolidation with python custom data

When creating a CRL type in runtime to represent a python custom data class, we need define `DynamicData` as its parent class so that it passes the `IsAssignableFrom` condition in `SubscriptionManager.AddConsolidator`
This commit is contained in:
AlexCatarino
2018-03-14 17:55:22 +00:00
parent 1f802d3be1
commit f588e190f2
2 changed files with 25 additions and 3 deletions
+4 -3
View File
@@ -904,11 +904,12 @@ namespace QuantConnect.Algorithm
{
an = new AssemblyName(type.Repr().Split('\'')[1]);
}
var moduleBuilder = AppDomain.CurrentDomain
var typeBuilder = AppDomain.CurrentDomain
.DefineDynamicAssembly(an, AssemblyBuilderAccess.Run)
.DefineDynamicModule("MainModule");
.DefineDynamicModule("MainModule")
.DefineType(an.Name, TypeAttributes.Class, typeof(DynamicData));
pythonType = new PythonActivator(moduleBuilder.DefineType(an.Name).CreateType(), type);
pythonType = new PythonActivator(typeBuilder.CreateType(), type);
ObjectActivator.AddActivator(pythonType.Type, pythonType.Factory);