ฉันมีคลาสที่ทำให้เป็นอนุกรมได้และหนึ่งในคุณสมบัติในคลาสของฉันสร้างขึ้นGuid
ใน getter คุณสมบัติไม่ใช้ตัวตั้งค่าและละเว้นระหว่างการทำให้เป็นอนุกรม เหตุใดจึงเป็นเช่นนั้นและฉันจึงต้องใช้ตัวตั้งค่าเสมอเพื่อให้คุณสมบัติของฉันเป็นแบบอนุกรม
[Serializable]
public class Example
{
[XmlAttribute("id")]
public string Id
{
get
{
return Guid.NewGuid().ToString();
}
}
}
ฉันลองใช้ตัวตั้งค่าว่างและได้รับการจัดลำดับอย่างถูกต้อง
[Serializable]
public class Example
{
[XmlAttribute("id")]
public string Id
{
get
{
return Guid.NewGuid().ToString();
}
set {}
}
}
อัปเดต :
คุณช่วยชี้ให้เห็นได้อย่างไรว่าฉันจะกำหนดคุณสมบัติที่ค่าไม่เคยเปลี่ยนแปลงหรือค่าที่สร้างขึ้นภายในได้อย่างไร