一、动态类型介绍
c#是静态类型语言,因为它在定义变量的时候要明确给出变量的类型。
c#4.0中微软引入了dynamic关键字来动议动态类型。
二、为什么引入动态类型
1.减少强制类型转换的使用
2.调用python等动态语言
三、动态类的约束
1.不能使用动态类型作为参数来调用扩展的方法。
2.委托与动态类型之间不能隐式转换。
3.不能对动态类型调用构造函数和静态方法。
4.不能将dynamic关键字用于基类声明,也不能用于类型参数约束或作为类型所实现
的接口的一部分。
四.实现自己的动态行为
1.使用expandoObject实现动态行为
2.使用DynamicObject来实现动态行为
3.使用IDynamicMetaObjectProvider接口来实现动态行为