我如何 XML 序列化来自另一个 class 的列表?
How do I XML serialize a list from another class?
我在单独的 class 中有一个列表。我如何将它转移到我单独的 Serializable
class?
[Serializable]
public class ToSerialize
{
//code
}
如果我没理解错的话,你想做的是:
- 在 class 中添加一个 property:
[Serializable]
public class ToSerialize
{
public List<SomeType> MyList {get; set;}
}
- 将要序列化的列表分配给一个实例:
// somewhere in your code ...
var someList = new List<SomeType>(); // just to clarify what the List should look like
someList.Add(new SomeType());
// ...
var output = new ToSerialize();
output.MyList = someList; // assign the list to that property
- 序列化
output
注意:要使列表可序列化,其内容(即上例中的类型“SomeType”)需要可序列化。
虽然上面的内容应该让您更进一步,但您稍后可能想要实际上不是分配列表本身,而是分配它的副本及其元素。这通常被称为“深层复制”或“深层克隆”,有时也称为“快照”。以防万一你想做更多的研究。
我在单独的 class 中有一个列表。我如何将它转移到我单独的 Serializable
class?
[Serializable]
public class ToSerialize
{
//code
}
如果我没理解错的话,你想做的是:
- 在 class 中添加一个 property:
[Serializable]
public class ToSerialize
{
public List<SomeType> MyList {get; set;}
}
- 将要序列化的列表分配给一个实例:
// somewhere in your code ...
var someList = new List<SomeType>(); // just to clarify what the List should look like
someList.Add(new SomeType());
// ...
var output = new ToSerialize();
output.MyList = someList; // assign the list to that property
- 序列化
output
注意:要使列表可序列化,其内容(即上例中的类型“SomeType”)需要可序列化。
虽然上面的内容应该让您更进一步,但您稍后可能想要实际上不是分配列表本身,而是分配它的副本及其元素。这通常被称为“深层复制”或“深层克隆”,有时也称为“快照”。以防万一你想做更多的研究。