我有一个服务器端的类,我通过[DataContract]将其提供给客户端。这个类有一个只读字段,我想通过属性将其提供给客户端。然而,我无法这样做,因为似乎我不允许添加一个没有get和set的[DataMember]属性。
那么,有没有办法拥有一个没有setter的[DataMember]属性?
[DataContract]
class SomeClass
{
private readonly int _id;
public SomeClass() { .. }
[DataMember]
public int Id { get { return _id; } }
[DataMember]
public string SomeString { get; set; }
}
那么解决方案是使用[DataMember]作为字段,就像这里所示的那样吗?我也试过这样做,但似乎不关心字段是否为只读?
编辑: 使只读属性变得可读的唯一方法是像这样对其进行修改吗?(不,我不想这样做...)
[DataMember]
public int Id
{
get { return _id; }
private set { /* NOOP */ }
}
DataMember
而不是标记属性。 - Theodore Murdock