我一直在找几个小时,不知道如何解决我的问题。我正在编写服务栈API,我需要谁使用它才能仅传入有效值。

我有一个Client节点,并且在它的下面有名字,姓氏,地址,状态等。

现在对于状态字段,它需要某种可枚举的方式,因此它们只能选择(例如NT,NSW,WA,SA)

因此,它们将类似于objClient.State = State.NT;。

顺便说一句,这是在C#asp.net中的单声道框架。

现在我已经尝试做一个私有的静态只读字符串BLABLABLA;但这没有用,没有序列化。我所有的DTO在适当的位置都有[DataContract]和[DataMember]标签。我尝试在[枚举]上面尝试过但没有运气。

所以我此刻陷入困境。我不希望api的使用者仅传递一个字符串值。谁能帮我摆脱一些建议,以解决这个问题?

最佳答案

我用以下方法解决了这个问题:

[DataContract]
public enum Color
{
    [DataMember]
    Red,
    [DataMember]
    Blue,
    [DataMember]
    Green,
}

09-12 14:49