class Person
{
public string m_name;
private int m_age; // << how do I serialize the darn little rat?
}
Простой вопрос пока кажется, что это большой беспорядок, пытаясь ответить на него.
Все предлагают использовать открытый геттер/сеттер, но мое приложение слишком велико, и создание геттера/сеттера для каждого участника просто вызовет проблемы с ремонтопригодностью.C# serialize частный член класса
Я вынужден создать пользовательскую сериализацию здесь или есть волшебный атрибут для таких членов?
Как сериализовать членов частного класса?
Редактировать # 1:
Хорошо все, извините за неясности, я был немного расстроен, когда я писал этот вопрос, это было несколько часов после того, как пытался найти решение.
В любом случае, вот еще несколько фактов:
1. Я пытаюсь XML-сериализовать этот класс. В настоящее время я использую System.Xml.Serialization.XmlSerializer
.
2. Я Сериализация в XML для совместимости версий, который, насколько я понимаю, не предлагает мне это.
3.I надеялся, что есть определенный атрибут как:
class Person
{
public string m_name;
[SerializeThat(ElementName="Age")]
private int m_age; // << how do I serialize the darn little rat?
}
ИЛИ (продолжение Факт # 3) атрибута, который идет по классу, который будет выглядеть так:
[Serializable(DoPrivate = true, DoProtected = true)]
class Person
{
public string m_name;
private int m_age; // << how do I serialize the darn little rat?
}
Что я могу сделать для этого?
Я предполагаю, что public int m_age; должны быть частными? Или нет, нет проблем, не так ли? – 2010-11-30 14:50:21
Какую сериализацию вы пытаетесь сделать? – 2010-11-30 14:53:22
Какой «большой беспорядок» вы получаете? Я не понимаю, почему вы не можете просто вставить [Serializable] в класс и покончить с этим. Возможно, в вашем примере кода есть нечто, что вы упрощаете, что означает, что вы скрываете причину проблемы. – 2010-11-30 15:06:53