Отправить myObject по TCP/IP

У меня проблема с отправкой myObject по TCP/IP.

Моя ArchMap

public class ArchMap
{
    public string DetalCode { get; set; }
    public List<Arch> Archs { get; set; }
}

и арка

public class Arch
{
    public string ModulName { get; set; }
    public string PartName1 { get; set; }
    [...]
}

Я хочу отправить этот список в TcpClient, но я не знаю, как преобразовать мой список в байт [].

я попробую

   var bf = new BinaryFormatter();
   var ms = new MemoryStream();
   bf.Serialize(ms, xarchList);

но я получаю ошибку:

Дополнительная информация: Тип 'Arch_Sender.Model.ArchMap' в сборке 'ArchSender.Model, версия =1.0.0.0, Culture= нейтральный, PublicKeyToken=null' не помечен как сериализуемый

1 ответ

Решение

Пожалуйста, рассмотрите возможность использования Serializable атрибут, как это:

ArchMap

using using System.Runtime.Serialization;

[Serializable]
public class ArchMap
{
    public string DetalCode { get; set; }
    public List<Arch> Archs { get; set; }
}

арочный

using System.Runtime.Serialization;

[Serializable]
public class Arch
{
    public string ModulName { get; set; }
    public string PartName1 { get; set; }
    [...]
}

Дополнительная информация: https://msdn.microsoft.com/en-us/library/ms973893.aspx

Другие вопросы по тегам