摘要: 一,ExpandoObject使用场合在传递对象,但是又不想创建一个class或者struct的时候,ExpandoObject就是一个非常好的选择。假如我们有一个SendMail的函数,功能是发送一个通知邮件给客户,邮件的文本模板,如下:Dear [Name],We have sent the gift to your address: [Address]在具体发送邮件的时候, [Name]和[Address]的内容是从函数GetMailParameters()动态读取出来的。那么函数GetMailParameters的返回值如何定义好呢?如果为GetMailParameters()函数创建 阅读全文
posted @ 2014-01-23 11:56 microsoftzhcn 阅读(1034) 评论(0) 推荐(0) 编辑
摘要: var, object, dynamic的区别以及使用 阅读目录: 一. 为什么是它们三个 二. 能够任意赋值的原因 三. dynamic的用法 四. 使用dynamic的注意事项拿这三者比较的原因是它们在使用的时候非常相似。你可以用它们声明的变量赋任何类型的值。看看下面的示例:var a = 1;object b = 1;dynamic c = 1;上面的例子中,看起来三者非常相似,但是背后的原理却是非常不同。var是C# 3中引入的,其实它仅仅只是一个语法. var本身并不是一种类型, 其它两者object和dynamic是类型。var声明的变量在赋值的那一刻... 阅读全文
posted @ 2014-01-23 11:55 microsoftzhcn 阅读(3497) 评论(0) 推荐(0) 编辑
摘要: 串行化是指存储和获取磁盘文件、内存或其他地方中的对象。在串行化时,所有的实例数据都保存到存储介质上,在取消串行化时,对象会被还原,且不能与其原实例区别开来。只需给类添加Serializable属性,就可以实现串行化实的成员。反串行化是串行化的逆过程,数据从存储介质中读取出来,并赋给类的实例变量。串行化能保存现有对象的所有状态,我想我们以前见过的一些游戏的角色账户中的dat文件应该就是被串行化的结果。我尝试了打开一个dat文件,果真得到了我需要的信息,一些角色的等级之类的信息果然在里面。串行化对象,需要先将对象加上[Serializable],如:[Serializable]public cla 阅读全文
posted @ 2014-01-23 10:22 microsoftzhcn 阅读(2698) 评论(0) 推荐(0) 编辑