Я столкнулся с проблемой при попытке сериализовать многомерный массив целых чисел через XmlSerializer для проекта XNA, над которым я работаю. Я могу сериализовать все мои другие данные (логические, строки, даже цвета и т. Д.) Без помех. Я также видел множество людей, которые утверждают, что XmlSerializer будет также обрабатывать (одномерные) массивы целых чисел. Есть ли ограничения в отношении многомерных массивов или здесь что-то еще происходит?
Вот соответствующий код:
int[,,] scoredata = scores; // Populated with data elsewhere
filename = Path.Combine(container.Path, "scoredata.sav");
stream = File.Open(filename, FileMode.Create);
serializer = new XmlSerializer(typeof(int[,,]));
serializer.Serialize(stream, scoredata); // This line throws the exception.
stream.Close();
Полученное исключение: «Необработанное исключение типа« System.InvalidOperationException »произошло в System.Xml.dll. Произошла ошибка при создании документа XML.»
Я также пытался использовать этот массив как переменную-член в структуре (где хранятся все мои другие данные игрока), но я получаю то же исключение, когда делаю так, что заставляет меня верить это не простая синтаксическая ошибка или что-то в этом роде.
Нужно ли мне реструктурировать мой код для сериализации через одномерный массив, или я что-то пропускаю?
Заранее спасибо!