У меня есть этот класс в C#Проблемы Сериализация объекта
public class ExerciseDTO {
Dictionary<String, String> qa;
private String materialId, content, topic;
//constructors
//properties
public void makePersistent(String path) {
Stream outputStream = File.OpenWrite(path + @"\" + this.topic + ".xml");
XmlSerializer serializer = new XmlSerializer(typeof(ExerciseDTO));
serializer.Serialize(outputStream, this);
outputStream.Flush();
outputStream.Close();
}
}
Вызов метода makePersistent
делает приложение сгенерирует Exeption с сообщением An error occured while reflecting object of type ExerciseDTO
. Почему я не могу сериализовать экземпляры этого класса?
* сериализации из словаря <> не поддерживается .net * Ты Прикалываешься??? Я даже узнал, что он не может сериализовать ссылки, указанные как типы интерфейса! WTH ??? Теперь я считаю, что это точно сказать, что .NET - самая худшая платформа, на которой я когда-либо программировал! Я никогда больше не буду использовать его для чего-либо, кроме WindowsPhone! Java превосходит далеко! –
'Сериализация словаря <> не поддерживается .net' не является истинным утверждением. Более правильным утверждением является 'сериализация словаря <> не поддерживается классом XmlSerializer'. Вы можете использовать класс DataContractSerializer, который поддерживает словари. –
@DarinDimitrov, мы всегда говорим в контексте, я уже предложил ссылку, чтобы сделать это в .net, поэтому вы, кажется, комментируете ..., я не знаю, я просто хочу, чтобы можно было найти полезное из моего ответа, и я также надеюсь, что люди могут найти полезную информацию из ваших комментариев. Во всяком случае, я даю вам поддержку для вашего обновленного комментария. – David