我应该将 DataMember 属性添加到派生 class 中的重写属性吗?

Should I add the DataMember attribute to overridden properties in a derived class?

我有几个 class 是这样的:

[DataContract]
public class A {

   [DataMember(Order = 1)]
   public virtual string SomeString{
       get;
       set;
   }
}

[DataContract]
public class B : A {

   [DataMember(Order = 1)]
   public override string SomeString{
       get{ // Do something }
       set{ // Do something} 
   }
}

我是否需要在派生的 class 中包含 SomeString 的 DataMember 属性?派生 class 的数据协定是否与基础 class 隔离处理?

我遵循了 jdweng 的建议,即实际检查派生 class 上带有和不带有 DataMember 属性的序列化数据。 属性 SomeString 已为派生的 class 序列化,但 SomeString 属性 上没有 DataMember 属性。