您的位置: 飞扬精品软件园 >> 文章中心 >> 网络通讯 >> 网络应用 >> 拓展动态编程的新领域

相关文章链接

最新新闻资讯

    拓展动态编程的新领域

    拓展动态编程的新领域


    • 阅览次数: 文章来源: 原文作者: 整理日期: 2010-08-29


     

    dynamic dynamicObj = new ExpandoObject();

    这一对象的奇特之处在于,我们可以随时给它增加新成员:

    dynamicObj.Value = 100; //添加字段
    dynamicObj.Increment = new Action(() => dynamicObj.Value++);  //添加方法

    这些动态添加的成员与普通的类成员用法一样:

    for (int i = 0; i < 10; i++)
    dynamicObj.Increment();//调用方法
    Console.WriteLine("dynamicObj.Value={0}",dynamicObj.Value);//访问字段

    ExpandoObject对象实现了IDictionary<string, object>接口,可看成是一个字典对象,所有动态添加的成员都是这个字典对象中的元素,这意味我们不仅可以添加新成员,还可以随时移除不再需要的成员:

    //移除Increment方法
    (dynamicObj as IDictionary<string, object>).Remove("Increment");
    方法移除之后,再尝试访问此方法将引发RuntimeBinderException异常。


    [1] [2] [3] [4] [5] [6]


查看所有评论

网友对拓展动态编程的新领域 的评论

网名:
主题:
内容:
验证码: