Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
monkey
0 / 0 / 0
Регистрация: 08.04.2012
Сообщений: 9
1

XML сериализация класса с методом, который принимает параметры

09.12.2012, 02:51. Просмотров 844. Ответов 2
Метки нет (Все метки)

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

что-то такое, только наоборот
C#
1
2
3
4
5
6
public void write(string fileName)
            {
                XmlSerializer ser = new XmlSerializer(typeof(Data));
                StreamWriter wr = new StreamWriter(fileName);
                ser.Serialize(wr, this);
            }
зы класс носит имя Data
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2012, 02:51
Ответы с готовыми решениями:

Split не принимает параметры в приведенном коде
string ss = s.Split('\t',StringSplitOptions.RemoveEmptyEntries); ругается...

Сериализация в xml
Имеется несколько классов следующего вида (схематично): public class A { ...

XML сериализация
Добрый день! 1. Как при сериализации XmlSerializer xmlSerializer = new...

Сериализация в Xml в С#
Доброе всем время суток! Нужна помощь по сериализации. Есть несколько...

XML Сериализация. Ошибка
Пытаюсь сериализировать - Фиг Необработанное исключение типа...

2
Goal
Футболист
513 / 415 / 140
Регистрация: 31.10.2011
Сообщений: 1,008
Завершенные тесты: 2
09.12.2012, 04:31 2
хз что там у тебя внутри класса описано название метода желательно с большой) на будущее
C#
1
2
3
4
5
6
7
public void Read(string fileName)
            {
                System.Xml.Serialization.XmlSerializer readerRr = new System.Xml.Serialization.XmlSerializer(typeof(Data));
                System.IO.StreamReader fileRr = new System.IO.StreamReader(fileName);
                this = (Data)readerRr.Deserialize(fileRr);
                fileRr.Close();
            }
Допиши в своем методе строчку, в конец
C#
1
wr.Close();
0
kolorotur
Эксперт .NET
10617 / 8798 / 2195
Регистрация: 17.09.2011
Сообщений: 15,073
Завершенные тесты: 1
10.12.2012, 00:00 3
Цитата Сообщение от Goal Посмотреть сообщение
C#
1
this = (Data)readerRr.Deserialize(fileRr);
this - переменная только для чтения, по крайней мере до .NET 4.0 включительно.

monkey, то, что вы хотите сделать - плохой дизайн. Вместо этого лучше создайте отдельный класс-фабрику, который будет создавать объекты вышего класса из разных источников.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2012, 00:00

XML сериализация списка
По какой схеме нужно сериализовать однонаправленный упорядоченный список?...

(Де)сериализация разных типов из XML
Доброго времени, форумчане! Помогите, пожалуйста, с...

XML сериализация в сетевой поток
Есть непонятная проблема с десериализацией из сетевого потока. На клиентской...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru