首页 新闻 会员 周边

c#牛人进....

0
悬赏园豆:5 [已解决问题] 解决于 2013-02-05 21:58

经常看到某些类的属性上面标示[Serializable]或者[DataContract]

属性上面加[DataMember]

请问高手什么情况下必须加这些....????

还有一个问题..

Word直接存储为(序列化)XML格式???怎样实现??????

彬彬@科比的主页 彬彬@科比 | 初学一级 | 园豆:43
提问于:2013-01-28 23:16
< >
分享
最佳答案
1

[Serializable] 序列化是指将对象实例的状态存储到存储媒体的过程。在此过程中,先将对象的公共字段和私有字段以及类的名称(包括类所在的程序集)转换为字节流,然后再把字节流写入数据流。在随后对对象进行反序列化时,将创建出与原对象完全相同的副本 说的简单点就是  对象是暂时保存在内存中的,不能用U盘考走了,有时为了使用介质转移对象,并且把对象的状态保持下来,就需要把对象保存下来,这个过程就叫做序列化

数据契约[DataContract] 服务契约定义了远程访问对象和可供调用的方法,数据契约则是服务端和客户端之间要传送的自定义数据类型。
一旦声明一个类型为DataContract,那么该类型就可以被序列化在服务端和客户端之间传送

这些东西在你以后做项目的时候应该都会用到的慢慢就会理解

收获园豆:5
li-peng | 小虾三级 |园豆:954 | 2013-01-30 16:10
其他回答(6)
1

序列化时用。 word转xml不太清楚。

Qlin | 园豆:2403 (老鸟四级) | 2013-01-29 08:56
0

DataContract,DataMember是在WCF对外公布接口和数据时使用

Serializable用于标识该类可以被序列化

Rich.T | 园豆:3440 (老鸟四级) | 2013-01-29 09:00
0

经常看到某些类的属性上面标示[Serializable]或者[DataContract]     

序列化时,用到,一般都是用[Serializable] wcf 中如果你的model类需要client和server之间传递,用[DataContract]     

属性上面加[DataMember]   也是WCF中用到的  [DataContract]在类的顶部写上,[DataMember]在公共的属性顶部写上

 

还有一个问题..

Word直接存储为(序列化)XML格式???怎样实现??????

用这个吗????、

chenping2008 | 园豆:9836 (大侠五级) | 2013-01-29 09:54
0

这是C#中的特性,你可以百度一下有关特性的知识。

jerry-Tom | 园豆:4077 (老鸟四级) | 2013-01-29 10:23
0

特性属性。。。

顾晓北 | 园豆:10844 (专家六级) | 2013-01-29 14:26

谁不知道特性呀!!

支持(0) 反对(0) 彬彬@科比 | 园豆:43 (初学一级) | 2013-01-29 21:32

@彬彬@科比: 你知道你还问?

支持(0) 反对(0) 顾晓北 | 园豆:10844 (专家六级) | 2013-01-30 09:00
0

学习了。。。

wangyblzu | 园豆:202 (菜鸟二级) | 2016-09-28 11:10
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册