为什么ProtoContractAttribute在结构上无效?

时间:2011-11-06 02:49:20

标签: attributes protobuf-net

为什么ProtoContract无法应用于自定义结构?根据{{​​3}}以及相关答案和代码,结构显然可以通过protobuf-net使用DataContract来序列化。使用此变通方法有任何缺点吗? ProtoContract表示它只能应用于类和枚举;这是v1过时的限制吗?我正在使用最新版本(r470)。

1 个答案:

答案 0 :(得分:1)

在v1中,它在struct上不可用,这不是不合理的,因为v1不支持结构。它应该在r470中工作;如果它不起作用,你可能实际上并没有使用r470!这是代码:

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct |
    AttributeTargets.Enum | AttributeTargets.Interface,
    AllowMultiple = false, Inherited = true)]
public sealed class ProtoContractAttribute : Attribute
{ ... }

我很确定有测试可以使用这个,并且知道一个事实我本周做了很多“日常工作” 序列化结构这种方式与v2。

请检查您使用的是正确的dll。