Por que as propriedades sem um setter não são serializadas
Eu tenho uma classe serializável e uma das propriedades da minha classe gera umGuid
no getter. A propriedade não implementa setter e é ignorada durante a serialização. Por que isso e sempre tenho que implementar um setter para que minha propriedade seja serializada.
[Serializable]
public class Example
{
[XmlAttribute("id")]
public string Id
{
get
{
return Guid.NewGuid().ToString();
}
}
}
Eu tentei implementar um setter vazio e ele foi serializado corretamente.
[Serializable]
public class Example
{
[XmlAttribute("id")]
public string Id
{
get
{
return Guid.NewGuid().ToString();
}
set {}
}
}
Atualizar:
Você pode apontar como devo definir propriedades cujos valores nunca mudam ou aqueles para os quais o valor é gerado internamente?