Hola,
No se si lo conoces la librería de
remoting de .NET, pero permite hacer esta serialización de forma automática (por suerte, también permite customizarla ya que en algunos casos no es demasiado óptima
)
Si tu aplicación requiere usar el socket directamente lo que podrías hacer, es crear una clase que compartieran cliente y servidor y se encargara de serializar y deserializar manualmente esos objetos sobre el socket. Es decir:
Código:
public class SerializedPersona
{
public static void Serialize(BinaryWriter writer, Persona persona)
{
writer.Write(persona.Nombre);
writer.Write(persona.Edad);
}
public static Persona Deserialize(BinaryReader reader)
{
Persona persona = new Persona();
persona.Nombre = reader.ReadString();
persona.Edad = reader.ReadInt16();
return persona;
}
}
Saludos!