Is it possible to ZeroFormat a List?

468 views Asked by At

I want to serialize a list of a class type:

private static List<TradeData> Trades = new List<TradeData>();

[ZeroFormattable]
private class TradeData
{
    [Index(0)]
    public virtual string Symbol { get; set; }
    [Index(1)]
    public virtual DateTime utcDT { get; set; }
    [Index(2)]
    public virtual int SignedAmount { get; set; }
    [Index(3)]
    public virtual double MidPrice { get; set; }

    public TradeData()
    {
    }
}

But I get the error below when I try to do this operation:

var zf = ZeroFormatterSerializer.Serialize(Trades);

Message=Type is not supported, occurs invalid error: List1 InnerException:System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: Type is not supported, occurs invalid error: TradeData InnerException:System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeLoadException: Access is denied: 'Cobra.Simulz+TradeData'. at System.Reflection.Emit.TypeBuilder.TermCreateClass(RuntimeModule module, Int32 tk, ObjectHandleOnStack type) at System.Reflection.Emit.TypeBuilder.CreateTypeNoLock() at System.Reflection.Emit.TypeBuilder.CreateTypeInfo() at System.Lazy1.CreateValue() at System.Lazy1.LazyInitValue() --- End of inner exception stack trace --- at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at ZeroFormatter.Formatters.DynamicFormatter.BuildFormatter(ModuleBuilder builder, Type resolverType, Type elementType, Tuple
2[] memberInfos)
at ZeroFormatter.Formatters.DynamicFormatter.CreateTTypeResolver,T at ZeroFormatter.Formatters.Formatter.GetBuiltinFormatter[TTypeResolver,T](Type t, TTypeResolver resolver) at ZeroFormatter.Formatters.Formatter2..cctor() at ZeroFormatter.Formatters.ErrorFormatter2.GetLength() at ZeroFormatter.Formatters.CollectionFormatter3..ctor() --- End of inner exception stack trace --- at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) at System.Activator.CreateInstance(Type type, Boolean nonPublic) at System.Activator.CreateInstance(Type type) at ZeroFormatter.Formatters.Formatter.GetBuiltinFormatter[TTypeResolver,T](Type t, TTypeResolver resolver) at ZeroFormatter.Formatters.Formatter2..cctor() Source=ZeroFormatter

0

There are 0 answers