tôi có một lớp nhưbool serialise? lỗi phản ánh loại
[Serializable]
public class MyClass
{
[XmlAttribute]
public bool myBool { get; set; }
}
Nhưng điều này serializes giá trị của bool false khi thuộc tính là không có mặt trong xml. Khi thuộc tính không nằm trong xml, tôi muốn thuộc tính rỗng.
Vì vậy, tôi đã cố gắng này
[Serializable]
public class MyClass
{
[XmlAttribute]
public bool? myBool { get; set; }
}
Nhưng sau đó các lỗi serializer
Type t = Type.GetType("Assembly.NameSpace.MyClass");
XmlSerializer mySerializer = new XmlSerializer(t); //error "There was an error reflecting type"
Xin vui lòng cho tôi một ví dụ về tôi có thể làm điều này. Tôi biết có một số câu hỏi liên quan đến SO nhưng không có gì cho thấy làm thế nào để vượt qua các lỗi phản ánh với một bool nullable. Cảm ơn.
@Aliostad: Tôi đánh giá cao giá trị của cách tiếp cận của bạn, nhưng nếu cấu trúc XML không mở để sửa đổi nó sẽ không hoạt động trong khi điều này sẽ xảy ra. – Jon
điều này có vẻ tuyệt vời nhưng dường như không hoạt động. Tên '{} được chỉ định' có phải là một tên ma thuật không? Tôi có cần một số logic trong getter? – Jules
@Jules: Vâng, đó là một cái tên kỳ diệu. Tìm kiếm "Mẫu được tạo dưới dạng propertyNameSpecified" trên trang được liên kết. Nếu nó không hoạt động, vui lòng hiển thị mã hiện tại của bạn. – Jon