给定以下枚举,该枚举仅在wcf服务中用作输出:
[DataContract]
public enum Role
{
[EnumMember]
Undefined = 0,
[EnumMember]
Admin,
[EnumMember]
Supervisor,
[EnumMember]
User
}
...是真的,我可以更改整数值而不破坏与现有客户端的兼容性吗?像这样:
[DataContract]
public enum Role
{
[EnumMember]
Undefined = 0,
[EnumMember]
Admin = 10,
[EnumMember]
Supervisor = 20,
[EnumMember]
User = 30
}
AFAIK枚举通过wcf(更确切地说是肥皂)作为字符串进行传输。我有什么想念的吗?
最佳答案
使用WCF客户端以及使用DataContract和DataContractSerializer时,WCF确实将数值保留在数据协定中。
如果不是这种情况,将仅转移成员名称。
资料来源:http://msdn.microsoft.com/en-us/library/aa347875.aspx
关于.net - wcf-更改整数值时枚举是否向后兼容?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19300208/