[英]Complex type class not being serialized by XmlSerializer
所以我有課:
public class classA : BaseClass
{
public classA(){}
}
public abstract class BaseClass
{
public ComplexTypeClass Total { get; set; }
public List<Item> Items {get; set; }
//some other properties
}
public class ComplexTypeClass : ValueObject<ComplexTypeClass>
{
public ComplexTypeClass()
{
}
public ComplexTypeClass(decimal p1, decimal p2, decimal p)
{
P1 = p1;
P2 = p2;
P3 = p3;
}
public decimal P1 { get; }
public decimal P2 { get; }
public decimal P3 { get; }
//some methods and validations
}
public abstract class ValueObject<T> : IEquatable<T>, IValidatableObject where T : ValueObject<T>
{
//all implemented interfaces methods
}
然后,我嘗試序列化classA
,除ComplexTypeClass
屬性外,所有屬性和列表均已正確序列化。 對於此屬性,我在xml <Total />
得到這樣的行。
所有類都具有[Serializable]
, [ComplexType]
和[XmlType]
屬性。 我也嘗試過不同的組合。 我嘗試在ComplexTypeClass
屬性上使用[XmlElement]
和[XmlRoot]
。 但是那什么也沒做。
我確實有另一個復雜的類型類,該類沒有接口,並且該類已正確序列化。
這些接口是否需要做任何事情? 還是我缺少一些簡單而小的東西?
編輯:擺脫接口並沒有幫助。
如謙卑的@Sinatr指出的那樣,如果有人偶然發現了這種問題, ComplexTypeClass
屬性
public decimal P1 { get; }
public decimal P2 { get; }
public decimal P3 { get; }
沒有set
,因此XmlSerializer無法重新填充此對象
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.