dynamic类型----4.0新特性

发布时间:2020-05-21 01:07:33 作者:1473348968
来源:网络 阅读:605
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();
        }
    }
}

 

推荐阅读:
  1. Dynamic Map
  2. [02]EXTJS4.0的新特性

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

expandoobject dynamicobj 动态对象

上一篇:Android系统的常用权限

下一篇:STL 之 VS版本 与 gunc版本 对比效率

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》