C# 世界粮食基金会:;IsRequired";带有“的数据成员的属性”;IsReference“;DataContract的属性

C# 世界粮食基金会:;IsRequired";带有“的数据成员的属性”;IsReference“;DataContract的属性,c#,.net,wcf,soap,C#,.net,Wcf,Soap,当我为DataMember的DataContract设置“IsReference”属性时,为什么WCF不允许为DataMember设置“IsRequired”属性?有没有办法解决这个问题 [DataContract(IsReference = true)] public class MyClass { private DateTime date; [DataMember (IsRequired = true)] publi

当我为DataMember的DataContract设置“IsReference”属性时,为什么WCF不允许为DataMember设置“IsRequired”属性?有没有办法解决这个问题

    [DataContract(IsReference = true)]
    public class MyClass
    {
        private DateTime date;

        [DataMember (IsRequired = true)]
        public DateTime Date
        {
            get { return date; }
            set { date = value; }
        }
    }

此代码将创建一个错误,因为设置了“IsReference”和“IsRequired”。

对您得到的行为有一个解释


我不确定如何解决这个问题

虽然这绝不是在挖苦你自己,但这个链接中的“答案”并没有真正解释框架为什么会以这种方式运行,只是它是“按设计”的,并且是典型的赞助人方式;这并不能解释他们为什么做出这样的设计决定,也表明我们不必为真正的原因而担心,只需要我们去掉这个属性,不管怎样继续下去。