Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Protobuf动态类型的网络列表错误_C#_Protobuf Net - Fatal编程技术网

C# Protobuf动态类型的网络列表错误

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:

通过设置DynamicType=true,我可以序列化接口派生类,而无需预先指定,如图所示

但是,我尝试序列化一个字典,其值是接口列表,如下所示:

[ProtoMember(35, DynamicType=true)]
public Dictionary<int, List<iAnInterface>> vals;
[原型成员(35,DynamicType=true)]
公共词典;
我得到了这个错误:

System.InvalidOperationException:无法解析System.Collections.Generic.Dictionary
2[[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行

我想做的事可能吗


编辑:如果我尝试做一个列表(即,没有字典),它会工作。

你能添加错误消息的其余部分吗?添加错误消息的其余部分吗