关于wcf的序列化有关问题

关于wcf的序列化问题,在线等
我传递了一个DataRow[]的对象,当然wcf是不支持这个对象的,所以报错:
无法序列化类型“System.Data.DataRow”。请考虑将其标以 DataContractAttribute 特性,并将其所有要序列化的成员标以 DataMemberAttribute 特性。
-------------------------
根据错误提示,也就是让其有DataContractAttribute 特性,请问如何写代码,谢谢。
我知道如何让自定义的类[DataContract],但对于wcf不支持的对象不知道怎么操作
------解决方案--------------------
你其实就是想传递一条数据。

你可以创建model对象,然后,把datarow中的数据一个一个付给model,然后传递model就行了
------解决方案--------------------
DataRow 是微软提供的类,你怎么添加特性?
还是自己创建个对象吧
------解决方案--------------------
引用:
根据错误提示,也就是让其有DataContractAttribute 特性,请问如何写代码,谢谢。

你太有才了,这都能想得出来,压根就不是那么回收——让公鸡下蛋可能吗?

那个DataRow是无法单独存在的类,必须有所属DataTable,可以从DataRow的初始化分析得到,你无法直接这么写代码:
DataRow dr = new DataRow();

因为那个是受保护的方法,你只能从DataTable提供的方法来创建,其数据本身存在于DataTable,而不存在与DataRow,DataRow仅仅是记录对DataTable中数据的访问入口,你单独序列化这个类,里面压根没有你要的数据,不把对于的DataTable一起传递过去是不可能拿到数据的,因此不是单单添加个特性这么简单。
折中的做法就是创建一个只有一行记录的DataTable序列化。