Dlaczego właściwości bez selektora nie są serializowane

Mam klasę serializowalną i jedna z właściwości w mojej klasie generujeGuid w getcie. Właściwość nie implementuje ustawnika i jest ignorowana podczas serializacji. Dlaczego tak jest i zawsze muszę zaimplementować seter, aby moja własność była serializowana.

[Serializable]
public class Example
{
    [XmlAttribute("id")]
    public string Id
    {
        get
        {
             return Guid.NewGuid().ToString();
        }
    }
}

Próbowałem zaimplementować pusty seter i został poprawnie serializowany.

[Serializable]
public class Example
{
    [XmlAttribute("id")]
    public string Id
    {
        get
        {
             return Guid.NewGuid().ToString();
        }
        set {}
    }
}

Aktualizacja:

Czy możesz wskazać, w jaki sposób należy zdefiniować właściwości, których wartości nigdy się nie zmieniają lub te, dla których wartość wewnętrzna jest generowana?

questionAnswers(5)

yourAnswerToTheQuestion