servicestack中使用protobuf,为什么order只能从1开始,不能从0开始?

Using protobuf in servicestack, why order can only start from 1 not 0?

使用 servicestack 和 protobuf,我发现了一个有趣的问题。

如果我在服务器端和客户端都定义了以下 class,它就可以工作

[DataContract]
public class Test : IReturn<TestResponse>
{
    [DataMember(Order = 1)]
    public string input { get; set; }
}

这不是。

[DataContract]
public class Test : IReturn<TestResponse>
{
    [DataMember(Order = 0)]
    public string input { get; set; }
}

为什么订单只能从1开始?

并且阅读这个单元测试,属性的所有顺序都从 1 开始。 https://github.com/ServiceStack/ServiceStack/blob/master/tests/ServiceStack.WebHost.IntegrationTests/Tests/ProtoBufServiceTests.cs

Order=0 是整数的默认值,与不提供值相同。