class Person
{
public string m_name;
private int m_age; // << how do I serialize the darn little rat?
}
Pregunta simple todavía parece un gran lío cuando se intenta responder.
Todos sugieren utilizar public getter/setter pero mi aplicación es demasiado grande y hacer un getter/setter para cada miembro solo causaría problemas de mantenimiento.C# serializar miembro privado de la clase
¿Estoy obligado a crear una serialización personalizada aquí o hay un atributo mágico para tales miembros?
¿Cómo serializo los miembros privados de la clase?
Edición # 1:
todos Ok, lo siento por la falta de claridad, que era un poco molesto cuando escribí esta pregunta, que era varias horas después de intentar encontrar la solución.
De todos modos, aquí hay más hechos:
1. Estoy tratando de XML serializar esta clase. Actualmente estoy usando System.Xml.Serialization.XmlSerializer
.
2. Estoy serializando en XML para tener compatibilidad de versiones, que por lo que entiendo binario no me ofrece eso.
3.He tenía la esperanza de que hay una cierta atributo como:
class Person
{
public string m_name;
[SerializeThat(ElementName="Age")]
private int m_age; // << how do I serialize the darn little rat?
}
O (sigue del hecho # 3) un atributo que pasa en la clase la que se vería así:
[Serializable(DoPrivate = true, DoProtected = true)]
class Person
{
public string m_name;
private int m_age; // << how do I serialize the darn little rat?
}
Ahora, ¿qué puedo hacer para lograrlo?
Supongo public int m_age; debe ser privado? O bien, no hay problema, ¿verdad? –
¿Qué tipo de serialización estás tratando de hacer? –
¿Qué "gran desastre" está recibiendo? No veo por qué no puedes simplemente [Serializable] en la clase y terminar con eso. Tal vez hay algo por lo que está simplificando en su código de ejemplo que significa que está ocultando la causa del problema. –