.net 4.0新特性之ExpandoObject

2010年8月6日 分类: C#

.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:

  1. .Net Framework 4 并行计算,奶酪?
  2. C#多线程介绍
标签: ,

3 条评论 于 “.net 4.0新特性之ExpandoObject”

  1. 2010年8月10日11:28
    1

    学习学习Net

  2. 2010年8月16日15:43
    2

    不喜欢4.0

  3. 2010年8月17日13:28
    3

    该更新了啊。 呵呵。

Leave a Comment