我对 C# 很陌生,所以请原谅任何看似基本的问题。
我想知道为什么TextWriter和StreamWriter在我的代码示例(使用 XML 序列化方法)中都可以提供相同的功能(或似乎)。
在此示例中,我正在处理 XML 元素、属性等的列表,并希望通过将它们作为列表传递给serialize函数(我已经创建)来序列化它们。
这是代码(注意使用 TextWriter):
public static void serialize(List<Table> listOfTables)
{
var ser = new XmlSerializer(typeof(List<Table>));
TextWriter writer =
new StreamWriter(@"Location\Sample.xml");
ser.Serialize(writer, listOfTables);
writer.Close();
}
这是完全相同的代码(或者看起来如此)(注意使用 StreamWriter 而不是 TextWriter):
public static void serialize(List<Table> listOfTables)
{
var ser = new XmlSerializer(typeof(List<Table>));
StreamWriter writer =
new StreamWriter(@"Location\Sample.xml");
ser.Serialize(writer, listOfTables);
writer.Close();
}
由于我很新,我了解继承和抽象类的基础知识,但我似乎无法将所有部分组合在一起以完全理解这一点。
请发送您的想法和建议。谢谢!