0

我正在研究这个网站上的 MVC Pattern Winforms 示例项目

程序.cs

static void Main()
        {

            UserView view = new UserView();
            view.Visible = false;

            UserController controller =  new UserController(view, listLoad());
            controller.LoadView();
            view.ShowDialog();
        }

 private static IList listLoad()
        {
            var users = new ArrayList();
            users.Add(new User("Vladimir", "Putin", "122", "Government of Russia", User.SexOfPerson.Male));

            return users;
        }

在此处输入图像描述

 public  void SaveXML()
        {
            XmlSerializer serializer = new XmlSerializer(_users.GetType());

            using (FileStream fileStream = new FileStream(@"C:\test\Users.xml", FileMode.Create))
            {
                serializer.Serialize(fileStream, _users);
            }
        }

上面的代码有什么问题?

问题 1:如何从控制器添加用户值而不是从 program.cs 文件中加载IList users = new ArrayList();

问题 2:我想将列表的所有行保存到 XML 文件中,最好的方法是什么?

4

1 回答 1

2

当您说从控制器添加用户值时,您到底是什么意思?你能不能在控制器上没有一个名为“AddUsers”的方法来做到这一点?我很感激您必须阻止 IList _users 只读才能这样做,但是...

至于写入 XML 文件,我想说你最好的方法是 XML 序列化。为此,您可能希望在控制器中执行以下操作:

XmlSerializer serializer = new XmlSerializer(_users.GetType());            

using (FileStream fileStream = new FileStream("Users.xml", FileMode.Create))
{
    serializer.Serialize(fileStream, _users);
}
于 2012-08-16T14:45:23.507 回答