Tôi có một lớp có thể tuần tự hóa và một trong những thuộc tính trong lớp của tôi tạo ra một Guid
trong getter. Thuộc tính thực hiện không có setter và bị bỏ qua trong quá trình tuần tự hóa. Tại sao lại như vậy và tôi có phải luôn triển khai một bộ định tuyến để tài sản của tôi được tuần tự hóa không.
[Serializable]
public class Example
{
[XmlAttribute("id")]
public string Id
{
get
{
return Guid.NewGuid().ToString();
}
}
}
Tôi đã thử triển khai một setter trống và nó đã được tuần tự hóa chính xác.
[Serializable]
public class Example
{
[XmlAttribute("id")]
public string Id
{
get
{
return Guid.NewGuid().ToString();
}
set {}
}
}
Cập nhật :
Bạn có thể chỉ ra cách tôi nên xác định các thuộc tính có giá trị không bao giờ thay đổi hoặc các thuộc tính mà giá trị cho được tạo nội bộ không?
[Serializable]
.