码迷,mamicode.com
首页 > 其他好文 > 详细

dynamic类型----4.0新特性

时间:2014-09-23 03:01:44      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:expandoobject   dynamicobj   动态对象   

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Dynamic;
namespace ConsoleApplication4
{
    class Program
    {
        static void Main(string[] args)
        {
            //实例化一个动态对象
            dynamic dynamicObj = new ExpandoObject();
            //动态添加字段
            dynamicObj.Name = "张飞";
            //动态添加方法
            dynamicObj.DelegateObj = new Action(() => dynamicObj.Name = "关羽");
            //执行方法
            dynamicObj.DelegateObj();
            //输出:关羽
            Console.WriteLine(dynamicObj.Name);
            //删除字段(ExpandoObject对象实现了IDictionary<string, object>接口,
            //可看成是一个字典对象,所有动态添加的成员都是这个字典对象中的元素,这意味我们不仅可以添加新成员,还可以随时移除不再需要的成员)
            (dynamicObj as IDictionary<string, object>).Remove("Name");
            //再次访问此字段会抛出异常
            Console.WriteLine(dynamicObj.Name);
            Console.ReadKey();
        }
    }
}

 

本文出自 “程序猿的家” 博客,请务必保留此出处http://962410314.blog.51cto.com/7563109/1557139

dynamic类型----4.0新特性

标签:expandoobject   dynamicobj   动态对象   

原文地址:http://962410314.blog.51cto.com/7563109/1557139

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!