C# Protobuf动态类型的网络列表错误
通过设置DynamicType=true,我可以序列化接口派生类,而无需预先指定,如图所示 但是,我尝试序列化一个字典,其值是接口列表,如下所示:C# Protobuf动态类型的网络列表错误,c#,protobuf-net,C#,Protobuf Net,通过设置DynamicType=true,我可以序列化接口派生类,而无需预先指定,如图所示 但是,我尝试序列化一个字典,其值是接口列表,如下所示: [ProtoMember(35, DynamicType=true)] public Dictionary<int, List<iAnInterface>> vals; [原型成员(35,DynamicType=true)] 公共词典; 我得到了这个错误: System.InvalidOperationException:
[ProtoMember(35, DynamicType=true)]
public Dictionary<int, List<iAnInterface>> vals;
[原型成员(35,DynamicType=true)]
公共词典;
我得到了这个错误:
System.InvalidOperationException:无法解析System.Collections.Generic.Dictionary2[[System.Int32,mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089],[System.Collections.Generic.List
1[[myFuncs.iFilter,myFuncs20,Version=1.0.5367.32298,Culture=neutral,PublicKeyToken=null]],mscorlib,版本=4.0.0.0,区域性=中性,PublicKeyToken=b77a5c561934e089]]
在c:\Dev\ProtoBuf-net\ProtoBuf-net\Serializers\ListDecorator中的ProtoBuf.Serializers.ListDecorator..ctor(类型模型、类型declaredType、类型concreteType、IProtoSerializer tail、Int32字段号、布尔写包、WireType packedWireType、布尔返回列表、布尔覆盖列表、布尔支持NULL)中
在c:\Dev\ProtoBuf-net\ProtoBuf-net\Meta\ValueMember.cs中的ProtoBuf.Meta.ValueMember.BuildSerializer()处:第348行
在c:\Dev\ProtoBuf-net\ProtoBuf-net\Meta\ValueMember.cs中的ProtoBuf.Meta.ValueMember.get_Serializer()处:第191行
在c:\Dev\ProtoBuf-net\ProtoBuf-net\Meta\MetaType.cs中的ProtoBuf.MetaType.BuildSerializer()处:第465行
在c:\Dev\ProtoBuf-net\ProtoBuf-net\Meta\MetaType.cs中的ProtoBuf.MetaType.get_Serializer()处:第381行
在c:\Dev\ProtoBuf-net\ProtoBuf-net\Meta\RuntimeTypeModel.cs中的ProtoBuf.Meta.RuntimeTypeModel.Serialize(Int32键,对象值,ProtoWriter dest)处:第692行
在c:\Dev\ProtoBuf-net\ProtoBuf-net\Meta\TypeModel.cs中的ProtoBuf.Meta.TypeModel.SerializeCore(ProtoWriter-writer,对象值)处:第186行
在c:\Dev\ProtoBuf-net\ProtoBuf-net\Meta\TypeModel.cs中的ProtoBuf.Meta.TypeModel.Serialize(Stream dest,Object value,SerializationContext)处:第217行
在c:\Dev\ProtoBuf-net\ProtoBuf-net\Meta\TypeModel.cs中的ProtoBuf.Meta.TypeModel.Serialize(Stream dest,Object value)处:第201行
在c:\Dev\ProtoBuf-net\ProtoBuf-net\Serializer.cs中的ProtoBuf.Serializer.Serialize[T](流目标,T实例):第87行
我想做的事可能吗
编辑:如果我尝试做一个列表(即,没有字典),它会工作。你能添加错误消息的其余部分吗?添加错误消息的其余部分吗