我应该将 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 属性。
我有几个 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 属性。