怎么用泛型实现xml的功能?
老师留下作业就走了,对泛型不熟悉,没思路啊。。求指点,最好附加代码
[解决办法]
今天哥心情好,给你写个完整能运行的作业,第二个save貌似还要加个参数
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
using System.IO;
using System.Diagnostics;
namespace XmlRefl
{
class Program
{
static void Main(string[] args)
{
List<XCls> cls1 = new List<XCls>(){
new XCls()
{
Id = 12345,
Name = "X-Man",
}};
XmlHelper hlper = new XmlHelper();
hlper.SaveXml("xcls.xml", cls1);
Process.Start("xcls.xml");
cls1.Clear();
cls1 = hlper.LoadXml<XCls>("xcls.xml");
Console.WriteLine("Count=" + cls1.Count);
Console.ReadLine();
}
}
public class XCls
{
public int Id { get; set; }
public string Name { get; set; }
}
public class XmlHelper
{
public List<T> LoadXml<T>(string path)
{
XmlSerializer serializer = new XmlSerializer(typeof(List<T>));
Stream stream = File.OpenRead(path);
List<T> t = (List<T>)serializer.Deserialize(stream);
return t;
}
public void SaveXml<T>(string path, List<T> t)
{
XmlSerializer serializer = new XmlSerializer(typeof(List<T>));
FileStream stream = File.OpenWrite(path);
serializer.Serialize(stream, t);
stream.Close();
}
}
}