dynamic 是什么

dynamic是c# 4.0新增的类型,可以修饰类,对象,属性,索引器,方法返回值等。

class ExampleClass
{
    // A dynamic field.
    static dynamic field;

    // A dynamic property.
    dynamic prop { get; set; }

    // A dynamic return type and a dynamic paramater type.
    public dynamic exampleMethod(dynamic d)
    {
        // A dynamic local variable.
        dynamic local = "Local variable";
        int two = 2;

        if (d is int)
        {
            return local;
        }
        else
        {
            return two;
        }
    }
}

dynamic、object、和var的区别

var 的本质是语法糖,在编译时已经确定了类型。

object是万父之本,

而dynamic则可以绕过编译时对类型的检查,在运行时再确定类型。根据其编译后的IL,dynamic会被编译进object中去。

dynamic可以简化COM API(例如 Office Automation API)、动态 API(例如 IronPython 库)和 HTML 文档对象模型 (DOM) 的访问

 

posted @ 2013-08-16 17:53  瓜王  阅读(857)  评论(0编辑  收藏  举报