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

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

09.12.2012, 02:51. Просмотров 817. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос XML сериализация класса с методом, который принимает параметры (C#):

Split не принимает параметры в приведенном коде
string ss = s.Split('\t',StringSplitOptions.RemoveEmptyEntries); ругается так Ошибка 1 Наиболее подходящий перегруженный метод для...

Сериализация в xml
Имеется несколько классов следующего вида (схематично): public class A { public List<B> b = new List<B>(); public List<C> c...

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

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

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

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

2
Goal
Футболист
511 / 413 / 140
Регистрация: 31.10.2011
Сообщений: 1,002
Завершенные тесты: 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
9923 / 8309 / 2040
Регистрация: 17.09.2011
Сообщений: 14,308
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 сериализация в сетевой поток
Есть непонятная проблема с десериализацией из сетевого потока. На клиентской стороне происходит сериализация класса с данными в сетевой...

Сериализация/Десериализация списка объектов в XML
имеется базовый класс Figure using System; using System.Collections.Generic; using System.Linq; using System.Text; using...

Сериализация абстрактного класса
Здравствуйте! Подскажите пожалуйста, как сделать сериализацию абстрактного класса? Допустим, есть абстрактный класс: public abstract...


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

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

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