我目前正在测试protobuf(使用WCF,但没有关注)来序列化整个模型。
我确实遇到了一个问题,我有一个泛型类,简单地说:
[ProtoContract]
public class Container<T>
{
[ProtoMember(1)]
public T Object { get; }
public Container(T containedObject)
{
Object = containedObject;
}
}
但是当我尝试序列化/反序列化它(使用int)时,我收到此消息
System.Runtime.Serialization.InvalidDataContractException:Type 'XXXX.Container`1 [System.Int32]'无法序列化。 考虑使用DataContractAttribute属性标记它,并且 标记您想要序列化的所有成员 DataMemberAttribute属性。如果类型是集合,请考虑 使用CollectionDataContractAttribute标记它。见 其他受支持类型的Microsoft .NET Framework文档。