通过 TCP/IP 发送 myObject
Send myObject by TCP/IP
我在 TCP/IP 发送 myObject 时遇到问题。
我的ArchMap
public class ArchMap
{
public string DetalCode { get; set; }
public List<Arch> Archs { get; set; }
}
和Arch
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);
但我得到错误:
Additional information: Typ 'Arch_Sender.Model.ArchMap' in Assembly 'ArchSender.Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable
请考虑像这样使用 Serializable
属性:
ArchMap
using using System.Runtime.Serialization;
[Serializable]
public class ArchMap
{
public string DetalCode { get; set; }
public List<Arch> Archs { get; set; }
}
Arch
using System.Runtime.Serialization;
[Serializable]
public class Arch
{
public string ModulName { get; set; }
public string PartName1 { get; set; }
[...]
}
我在 TCP/IP 发送 myObject 时遇到问题。
我的ArchMap
public class ArchMap
{
public string DetalCode { get; set; }
public List<Arch> Archs { get; set; }
}
和Arch
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);
但我得到错误:
Additional information: Typ 'Arch_Sender.Model.ArchMap' in Assembly 'ArchSender.Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable
请考虑像这样使用 Serializable
属性:
ArchMap
using using System.Runtime.Serialization;
[Serializable]
public class ArchMap
{
public string DetalCode { get; set; }
public List<Arch> Archs { get; set; }
}
Arch
using System.Runtime.Serialization;
[Serializable]
public class Arch
{
public string ModulName { get; set; }
public string PartName1 { get; set; }
[...]
}