0

このWebサイトのMVCパターンWinformsサンプルプロジェクトに取り組んでいます

Program.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 に答える