【问题标题】:Send myObject by TCP/IP [duplicate]通过 TCP/IP 发送 myObject [重复]
【发布时间】:2016-07-31 09:41:56
【问题描述】:

我在通过 TCP/IP 发送 myObject 时遇到问题。

我的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,但我不知道如何将我的列表转换为 byte[]。

我试试

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

但我得到错误:

附加信息:Assembly 'ArchSender.Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' 中的 Typ 'Arch_Sender.Model.ArchMap' 未标记为可序列化

【问题讨论】:

    标签: c# object send tcp-ip binary-serialization


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-17
      • 1970-01-01
      • 2014-06-05
      • 2016-05-12
      • 2018-10-24
      • 1970-01-01
      • 2012-11-11
      • 2011-01-07
      相关资源
      最近更新 更多