powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Xml Serialization
8 сообщений из 8, страница 1 из 1
Xml Serialization
    #33914197
ignaci_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста почему в этом примере не проходит Xml сериализация объекта типа TestClass?
я уже незнаю что с ним делать что-бы это заработало. Помогите пожалуйста!!!



    [Serializable]
    public class TestClass
    {
        private string _name = string.Empty;
        private int _intValue = int.MinValue;
        private object _element = null;

        public TestClass()
        {
        }
        public TestClass(string name, int intValue)
        {
            _name = name;
            _intValue = intValue;
            int[] list = new int[3];
            list[0] = 1;
            list[1] = 2;
            list[2] = 4;
            _element = list;
        }

        public string Name
        {
            get
            {
                return _name;
            }
            set
            {
                _name = value;
            }
        }
        public int IntValue
        {
            get
            {
                return _intValue;
            }
            set
            {
                _intValue = value;
            }
        }
        public object Element
        {
            get 
            {
                return _element;
            }
            set 
            {
                _element = value;
            }
        }
    }

    public class Program
    {
        static void Main(string[] args) 
        {
            OurContainerSerializing();
        }

        private static void OurContainerSerializing()
        {
            try
            {
                TestClass obj = new TestClass("test1",1);

                XmlSerializer xmlSerializer = new XmlSerializer(typeof(TestClass));

                StringWriter sw = new StringWriter();
                xmlSerializer.Serialize(sw, obj);

                string xml = sw.ToString();

                StringReader sr = new StringReader(xml);
                TestClass obj1 = (TestClass)xmlSerializer.Deserialize(sr);
                int a = 1;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message + "\n" + (null!=ex.InnerException?ex.InnerException.Message:""));
            }
        }

    }
...
Рейтинг: 0 / 0
Xml Serialization
    #33914921
mormat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, ignaci_v, Вы писали:

_>Подскажите пожалуйста почему в этом примере не проходит Xml сериализация объекта типа TestClass?
_>я уже незнаю что с ним делать что-бы это заработало. Помогите пожалуйста!!!

private object _element = null;
поменяй на

private int[] _element;
ну и свойство тоже.
...
Рейтинг: 0 / 0
Xml Serialization
    #33915081
dotnetcoder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не помешает добавить :
public TestClass()
{

}




;)

-- Если тебе помогли, незабудь сказать спасибо --
-- Это всё мое личное мнение которое может не совпадать с Вашим или может быть ошибочным --

.NetCoder
...
Рейтинг: 0 / 0
Xml Serialization
    #33915782
ignaci_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, dotnetcoder, Вы писали:

D>Не помешает добавить :         public TestClass()
D>        {

D>        }

D>

D>
данное сообщение получено с www.gotdotnet.ru
D>ссылка на оригинальное сообщение


Эсли вы имели ввиду конструктор по умолчанию — так он есть у класса TestClass. Тут дело не в этом
проперти Element. Проперти элемент описано как object а возвращает оно екземпляр масива (int []).
И изза этого вся проблема. Но как сделать так, что-бы он даже в таком случае сериализировался?
Большее спасибо!
...
Рейтинг: 0 / 0
Xml Serialization
    #33915807
ignaci_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, mormat, Вы писали:

M>Здравствуйте, ignaci_v, Вы писали:

_>>Подскажите пожалуйста почему в этом примере не проходит Xml сериализация объекта типа TestClass?
_>>я уже незнаю что с ним делать что-бы это заработало. Помогите пожалуйста!!!
M>
M>private object _element = null;
M>
M>поменяй на
M>
M>private int[] _element;
M>
M>ну и свойство тоже.

Дело в том что я немогу сделать следующию замену. Мне нужен на выходе имменно object. Это простой пример, а в реальном случае
мой класс не знает когда и что будет возвращаться свойством Element, поэтому у него и тип object (это может быть как масив,
так и любой другой тип, как сиситемный тпк и пользовательский). Неужели нельзя никак подстроить (возможно как-то с помощью атрибутов) чтобы
такая структура нормально сериализировалась?
Большое спасибо!
...
Рейтинг: 0 / 0
Xml Serialization
    #33915833
Dronopotamus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, ignaci_v, Вы писали:

_>Эсли вы имели ввиду конструктор по умолчанию — так он есть у класса TestClass. Тут дело не в этом
_>проперти Element. Проперти элемент описано как object а возвращает оно екземпляр масива (int []).
_>И изза этого вся проблема. Но как сделать так, что-бы он даже в таком случае сериализировался?
_>Большее спасибо!

попробуйте поэкспериментировать с атрибутами [XmlArrayItem] и [XmlArray] на проперти Element. Там можно явно указать тип элементов — может поможет.... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
...
Рейтинг: 0 / 0
Xml Serialization
    #33916009
ignaci_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, Dronopotamus, Вы писали:

D>Здравствуйте, ignaci_v, Вы писали:

_>>Эсли вы имели ввиду конструктор по умолчанию — так он есть у класса TestClass. Тут дело не в этом
_>>проперти Element. Проперти элемент описано как object а возвращает оно екземпляр масива (int []).
_>>И изза этого вся проблема. Но как сделать так, что-бы он даже в таком случае сериализировался?
_>>Большее спасибо!

D>попробуйте поэкспериментировать с атрибутами [XmlArrayItem] и [XmlArray] на проперти Element. Там можно явно указать тип элементов — может поможет.

Уже пробовал, возился с этими атрибутами но ничего не вышло пока.
...
Рейтинг: 0 / 0
Xml Serialization
    #33918078
stump
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, ignaci_v, Вы писали:

_>Подскажите пожалуйста почему в этом примере не проходит Xml сериализация объекта типа TestClass?
_>я уже незнаю что с ним делать что-бы это заработало. Помогите пожалуйста!!!

Skipped...

Вот так будет работать:


[XmlElement("Element", typeof(int[]))]
public object Element

Но лучше конечно типизированное свойство сделать...
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Xml Serialization
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]