Как сохранить объект класса в конфигурационном файле приложения - PullRequest
0 голосов
/ 08 декабря 2010

У меня есть приложение для Windows, которое имеет более одной формы. Из одной формы другая форма отображается в приложении. В первой форме я создаю объект для класса (который имеет общую информацию среди всех форм). Я хочу использовать один и тот же объект во всех других формах.

Можно ли сохранить объект класса в файле App.Config в первой форме и получить его в других формах? Если да, скажите мне, как это сделать, а если нет, предложите какой-нибудь хороший способ добиться этого.

Заранее спасибо

Ответы [ 5 ]

3 голосов
/ 08 декабря 2010

Вы можете создать static class со статическими свойствами и ссылаться на него везде, где это необходимо.

1 голос
/ 08 декабря 2010

Я думаю, вы должны передать информацию, используя метод или свойство второй формы, а не добавляя ее в app.config.

Вот код для формы 1

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

Теперь вы можете получить доступ к свойству в только что созданной форме

1 голос
/ 08 декабря 2010

Да, вы можете сделать это путем сериализации объекта и сохранить его в настройках в файле конфигурации приложения.

Имхо, лучшим способом было бы создать пользовательский раздел конфигурации для вашего приложения и затем хранить всю необходимую информацию там.

Msdn в разделе конфигурации

Кстати: я предполагаю, что вы действительно хотите использовать информацию, хранящуюся в объекте, и в будущих сессиях Приложения. Если информация требуется только для этого единственного экземпляра приложения, не беспокойтесь о ее сохранении в конфигурации.

Если вы действительно хотите использовать ту же информацию после закрытия и перезапуска приложения, вам следует рассмотреть подход, который я упомянул.

0 голосов
/ 08 декабря 2010

Вам следует использовать файл Program.cs, там определите публичный статический метод, который будет получать и устанавливать класс, которым вы хотите поделиться на уровне приложения.

0 голосов
/ 08 декабря 2010

Вы можете сериализовать объект в XML и сохранить его в виде строки.

Как сериализовать объект в XML с помощью Visual C # http://support.microsoft.com/kb/815813

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...