Ошибка при сериализации объекта с помошью XmlSerializer - C#

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток. Работаю над созданием сетевого приложения клиент-сервер, одной из функций которого является передача файлов. При передаче должна использоваться сериализация информации о файле с последующей ее передачей, а затем и файла. Проблема состоит в том что сериализация не происходит. Пример который был найден в МСДН выдает следующую ошибку указывая на созданный сериализатор: ConsoleApplication5.Program is inaccessible due to its protection level. Only public types can be processed Вопрос в следующем, что я не так делаю? Пробовал кстати использовать функции set и get, результат не изменился. Заранее благодарен за ответы. Вот сам пример:
using System;
using System.IO;
using System.Xml.Serialization;
 
namespace ConsoleApplication5
{
    class Program
    {
        public class OrderedItem
        {
            public string ItemName;
            public string Description;
            public decimal UnitPrice;
            public int Quantity;
            public decimal LineTotal;
 
            // A custom method used to calculate price per item.
            public void Calculate()
            {
                LineTotal = UnitPrice * Quantity;
            }
        }
 
        public class Test
        {
            public static void Main(string[] args)
            {
                Test t = new Test();
                // Write a purchase order.
                t.SerializeObject("simple.xml");
            }
 
            private void SerializeObject(string filename)
            {
                Console.WriteLine("Writing With Stream");
 
                XmlSerializer serializer =
                new XmlSerializer(typeof(OrderedItem));
                OrderedItem i = new OrderedItem();
                i.ItemName = "Widget";
                i.Description = "Regular Widget";
                i.Quantity = 10;
                i.UnitPrice = (decimal)2.30;
                i.Calculate();
 
                // Create a FileStream to write with.
                Stream writer = new FileStream(filename, FileMode.Create);
                // Serialize the object, and close the TextWriter
                serializer.Serialize(writer, i);
                writer.Close();
            }
        }
    }
}

Решение задачи: «Ошибка при сериализации объекта с помошью XmlSerializer»

textual
Листинг программы
            private static void SerializeObject(string filename)
            {
                Console.WriteLine("Writing With Stream");
 
            OrderedItem i = new OrderedItem();
            i.ItemName = "Widget";
            i.Description = "Regular Widget";
            i.Quantity = 10;
            i.UnitPrice = (decimal)2.30;
            i.Calculate();
 
            using (Stream s = File.Create(filename + ".bin"))
            {
                var f = new BinaryFormatter();
 
                f.Serialize(s, i);
            }
            }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4 из 5
Похожие ответы