我在 C# 中有一个简单的 WCF 项目。我正在使用 DTO User.cs:
public UserDTO
{
private EmailType _emailType = EmailType.NotSpecified;
[DataMember]
public EmailType UserEmailType
{
get { return _emailType; }
set { _emailType = value; }
}
}
EmailType.cs 具有以下值:
None = -1,
NoEmail = 0,
All = 1
现在在服务项目中我有这个方法:
public RestResponse CreateNewUser(UserDTO user)
{
try
{
//my code to call BL to create a new user
}
}
但是当我调用这个方法(使用 RESTful URL)时, CreateNewUser() 方法被触发了。我注意到user.UserEmailType 设置为 NoEmail (0) 而不是我在私有属性实例化中指定的。看起来 .NET REST API 框架将其设置为 0,即使我已在 UserDTO 类中将其设置为不同的值。你能告诉我为什么 UserEmailType 设置为 0 而不是 -1 吗?