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
是整数的默认值,与不提供值相同。
使用 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
是整数的默认值,与不提供值相同。