Tôi có lớp này:Có cách nào để tránh XmlSerializer không khởi tạo một thuộc tính null khi deserializing?
public class MySerializableClass
{
public List<MyObject> MyList { get; set; }
}
Nếu MyList là null khi MySerializableClass là đăng, tôi cần phải có nó null khi nó deserialised quá, nhưng XmlSerializer luôn khởi nó khi nó deserialises lớp học của tôi.
Có cách nào để tránh nó khởi tạo các thuộc tính không?
Danh sách của tôi thậm chí không được ghi trong tệp được tuần tự khi nó không có giá trị. Khi tôi tải nó với giá trị null, và lưu nó một lần nữa, MyList không phải là null nữa, nó được tuần tự hóa thành một Danh sách <> với 0 mục, nhưng không phải là null.
Cảm ơn.
Thông tin thêm:
tài sảnMột IsDeserializing là không khả thi do một số hạn chế mã trong cấu trúc của lớp
Wow, System.Xml không bao giờ nắm bắt để tôi ngạc nhiên. Có một setter công cộng cho một thành viên lớp sưu tập là * rất * bất thường, xem xét thiết kế của bạn để xác minh đó là những gì bạn thực sự muốn. Nó hoạt động tốt mà không có một setter. –
Nó không phải là những gì tôi thực sự muốn. Đó là những gì serializer muốn. Nếu tôi thực hiện hoặc nhận được hoặc thiết lập riêng, deserializer sẽ thất bại. – Carlo