如何在app配置文件中存储类对象

时间:2010-12-08 12:32:46

标签: c# winforms configuration

我有一个Windows应用程序,它有多个表单。从一种形式,在应用程序中显示另一种形式。在第一种形式中,我正在为一个类创建一个对象(在所有表单中有共同的信息)。我想在所有其他形式中使用相同的对象。

我可以在第一种形式的App.Config文件中保存类对象,并以其他形式检索它吗?如果是这样,请告诉我如何做,如果没有,建议任何好方法来实现这一点。

先谢谢

5 个答案:

答案 0 :(得分:3)

您可以创建具有静态属性的static class,并在需要时引用它。

答案 1 :(得分:1)

是的,您可以通过序列化对象并将其存储在应用程序配置文件的设置中来完成此操作。

Imho更好的方法是为您的应用程序创建自定义配置部分,然后在那里存储所有必要的信息。

Msdn on ConfigurationSection

顺便说一下:我假设您实际上也希望在将来的应用程序会话中使用存储在对象中的信息。如果仅对该应用程序的单个实例需要该信息,则不必将其存储在配置中。

如果您想在关闭并重新启动应用程序后使用相同的信息,您将需要考虑我提到的方法。

答案 2 :(得分:1)

我认为您应该使用第二种形式的方法或属性来传递信息,而不是将其添加到app.config。

以下是Form1的代码

var Form2 = new Form2();
form2.MyObjectToPass = objectToPass // this is the object you want to pass into the new Form
form2.ShowDialog()

现在您可以在新创建的表单中访问该属性

答案 3 :(得分:0)

您可以将对象序列化为XML并将其存储为字符串。

如何使用Visual C#将对象序列化为XML http://support.microsoft.com/kb/815813

答案 4 :(得分:0)

你应该使用Program.cs文件,在那里定义一个公共静态方法,它将获取并设置你想在应用程序级别共享的类。