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

Сериализация абстрактного класса - C#

07.04.2013, 22:10. Просмотров 1296. Ответов 1
Метки нет (Все метки)

Здравствуйте! Подскажите пожалуйста, как сделать сериализацию абстрактного класса?
Допустим, есть абстрактный класс:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public abstract class Base
{
        public abstract string B1 { get; set; }  
        public abstract string B2 { get; set; } 
}
 
public class  A: Base
{ 
        public override string B1 { get; set; }    
        public override string B2 { get; set; }  
}
 
public class  C: Base
{ 
        public override string B1 { get; set; }    
        public override string B2 { get; set; }  
}
............
Метод сериализации и десериализации:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void Serializer(string filePath, List<Base> data)
{
      var serializar = new XmlSerializer(typeof(List<Base>));
      TextWriter textWriter = new StreamWriter(filePath);
      serializar.Serialize(textWriter, data);
      textWriter.Close();
}
public List<Base> Deserializer(string filePath)
{
     var serializar = new XmlSerializer(typeof(List<Base>));
     TextReader textReader = new StreamReader(filePath);
     var settings = (Base)serializar.Deserialize(textReader);
     textReader.Close();
     return settings;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.04.2013, 22:10
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сериализация абстрактного класса (C#):

Реализация абстрактного класса для арифметических операций
Всем привет. Меня интересует вопрос о создании абстрактного класса. Скажу сразу...

Операция new для потомков абстрактного класса, у которых есть интерфейс
Есть класс public abstract class ReestrElement есть классы-наследники ...

Как сделать расширяющий метод для статического или абстрактного класса?
Как сделать расширяющий метод для статического или абстрактного класса? public...

Сериализация объекта класса
Здравствуйте! Подскажите как должен выглядеть класс что бы по сериализации...

Сериализация класса Brush
Здравствуйте! У меня есть класс, одно из свойств которого имеет тип Brush....

Сериализация пользовательского класса Font.
Народ, подскажите, как сериализовать этот класс? Может какой интерфейс надо...

1
kolorotur
Эксперт .NET
9923 / 8309 / 2040
Регистрация: 17.09.2011
Сообщений: 14,308
07.04.2013, 22:14 #2
C#
1
[XmlInclude(typeof(A)), XmlInclude(typeof(B))]
На свойство List<Base>
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.04.2013, 22:14
Привет! Вот еще темы с решениями:

Сериализация массива экземпляров класса
public class Employees { public int...

Сериализация наследника от шаблонного класса
В общем есть шаблонный класс для сериализации. Есть еще один базовый класс,...

Сериализация закрытых (private) полей класса
Я пишу свой сериализатор/десериализатор, НЕ на основе System.XML.Serialization....

Бинарная сериализация класса без подписчиков на его событие
Здравствуйте. Продемонстрирую проблему на упрощенном примере. Есть класс...


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

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

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