У меня есть класс на стороне сервера, который я предоставляю на стороне клиента через [DataContract]. Этот класс имеет поле readonly, которое я хотел бы сделать доступным через свойство. Тем не менее, я не могу этого сделать, потому что не кажется, что мне разрешено добавлять свойство [DataMember], не получая и не устанавливая и не устанавливая.
Итак - есть ли способ иметь свойство [DataMember] без setter?
[DataContract]
class SomeClass
{
private readonly int _id;
public SomeClass() { .. }
[DataMember]
public int Id { get { return _id; } }
[DataMember]
public string SomeString { get; set; }
}
Или будет ли решение использовать [DataMember] в качестве поля - (например, показано здесь)? Пробовал делать это тоже, но, похоже, он не заботится о том, чтобы поле читалось только...?
Изменить: Это единственный способ сделать свойство readonly, взломав его так? (нет - я не хочу этого делать...)
[DataMember]
public int Id
{
get { return _id; }
private set { /* NOOP */ }
}