.net 4.0新特性之ExpandoObject
.Net Framework 4.0早已经发布,今天介绍一下ExpandoObject,这个类,这个类是在System.Dynamic这个命名空间下,那么肯定跟动态类型有关,这个类能做什么呢?我们看一下下面的例子:
//实例化扩展类
dynamic obj = new ExpandoObject();
//为对象动态添加成员变量
obj.Name = "张三";
obj.Age = 20;
obj.Birthday = new DateTime(1980, 1, 1);
//为对象动态添加成员方法
obj.Add = new Func<int, int, int>((i, j) => { return i + j; });
//打印输出
Console.WriteLine("姓名:" + obj.Name);
Console.WriteLine("年龄:" + obj.Age);
Console.WriteLine("生日:" + obj.Birthday);
Console.WriteLine("1+2=" + obj.Add(1, 2));
输出:
从上面例子不难看出,ExpandoObject这个类是非常有用的,它可以动态添加成员变量和方法,这样我们在写一些对象时,不需要在new一个class那么麻烦,只要用这个类就可以了,不过,需要注意的是,这个类是在运行时解析的,这样我们就会带来性能上的一些损失,而且,在编写较复杂的逻辑时,不容易发现问题所在,所以,对于简单的对象,我们可以使用这个类,复杂的就不要用了。
原创文章,转载请注明: 转载自.NET开发者
本文链接地址: .net 4.0新特性之ExpandoObject
Related posts:

学习学习Net
不喜欢4.0
该更新了啊。 呵呵。