泛型对象的反序列化问题!

来源:百度知道 编辑:UC知道 时间:2024/05/30 23:11:42
这是泛型List<SerialEmployee> emp = new List<SerialEmployee>();

这是泛型中的对象public class SerialEmployee
{
public int EmployeeID;
public string LastName;
public string FirstName;
public int YearsService;
public double Salary;
public SerialEmployee(int EmployeeID, string LastName, string FirstName, int YearsService, double Salary)
{
this.EmployeeID = EmployeeID;
this.LastName = LastName;
this.FirstName = FirstName;
this.YearsService = YearsService;
this.Salary = Salary;

}
我将这泛型中添加数据后,发生到远程客户端
我该如何反序列化它,然后来读取泛型中的成员!
emp链表中的对象SerialEmployee在
emp.Add(new SerialEmployee(1, "cehnli", "Li", 33,43.44));
这后,序列化,通过socket发送到对方主机,对方主机应该如何反序列化它
他是c#的应用程序

远程客户端指的什么?
如果用的是webService,它目前是不支持泛型集合的序列化和反序列化;
如果用的是remoting,它要序列化的类都必需从MarshByRef类继承,
以上两种都用到了远程透明代理,如果是你自己进行序列化,这是行不通的,因为到客户端后SerialEmployee对象是不存在的,也就无法反序列化

WCF的service是要求序列化的
去codeproject下一个源代码看看就知道了
有问题可以给我留言
序列化和反序列化好像只能是同一程序
如果是webservice,客户端那边会生成一个配置文件得到需要的类型,可以反序列化不会出异常。

引用
using System.Runtime.Serialization.Formatters.Binary;

MemoryStream aa = new MemoryStream();
BinaryFormatter a = new BinaryFormatter();
a.Serialize(aa,"jalisdnvinori");
aa.Seek(0l, SeekOrigin.Begin);
object ss = a.Deserialize(aa);

类似!