你可以把dynamic看成一个特殊的Object类型。
其实在底层,dynamic就是按Object处理的,只不过成静态的了。
能用Object的地方,都可以用dynamic代替,当然,我只说可以代替,并不要必须。
dynamic最大的特点在于,用dynamic可以直接创建一个并不存在的对象。
dynamic 是反射的升级版。用法很多,例如:
public void Bind( dynamic bll) { int TotalCount = bll.ExecuteStoreProcScalar<int>("getCount"); }
一般的项目中,用到这个dynamic的(本人这边不多得),其实很够用具体类型的地方,就尽量用具体的类型来替代,这样的话可以增加编译时就发现错误的好处