DataMember IsRequired 属性与 Nullable 类型组合是否矛盾?
我今天在 WCF 合约中遇到了这个问题:
[DataMember(IsRequired = true)]
public DateTime? LastModified { get; set; }
IsRequired = True
和可为空的 DateTime
会产生什么后果?它们似乎是相互矛盾的。
I came across this today in a WCF contract:
[DataMember(IsRequired = true)]
public DateTime? LastModified { get; set; }
What are the consequences of IsRequired = True
and a nullable DateTime
? They appear to be contradictory to each other.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您想用 null 初始化它并让用户设置有效日期,这是有意义的。所以在提交之前它可以验证用户输入。
这是一个类似的矛盾,可以回答你的问题。
与 IsRequired 交互
It can make sense if you want to initialize it with null and let user to set a valid date. So before submitting it can validate user input.
Here is a similar contradictory that may answer your question.
Interaction with IsRequired
猜测:您必须有一个“LastModified”节点(=必需),但内容可以为空(=值为空)。
A guess: you MUST have a node for 'LastModified' (=required) but the contents can be empty (=value is null).