[英]How to serialize only objects id
我有兩節課
[Serializable]
public class SimpleClass
{
public ComplexClass Parent { get; set; }
}
public class ComplexClass
{
public Guid Id { get; set; }
// Lots of stuff
}
...
// and somewhere
public static List<ComplexClass> ClassesList;
如何序列化SimpleClass
以便從復雜類中僅保存Guid
? 之后如何反序列化? 假設我已經有了ComplexClass
集合, ComplexClass
id選擇一個即可。
我正在使用XmlSerializer
進行序列化
包括名稱空間System.Xml.Serialization,並在要在序列化中排除的字段或屬性上添加屬性[XmlIgnore]。
當然可以使用ISerializable
進行自定義序列化,但是如果您想使其簡單,則可以使用以下方法:
public class SimpleClass
{
[XmlIgnore]
public ComplexClass Parent { get; set; }
public Guid ComplexClassId {
get { return Parent.Id; }
set { Parent = new ComplexClass(value); }
}
}
或者只是使用XmlIgnore
在ComplexClass中標記不需要的字段。
我已根據LB的評論將答案更改為使用XmlIgnore
而不是NonSerialized
,因為我認為它仍然為Andypopa添加了一些信息,所以將答案留在此處。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.