随着动态类型和.NET 4中的DLR的出现,我现在有3个选项来声明我称之为“开放”类型:
> var,局部隐式类型强调’what’而不是’how’,
> object,System.Object的别名,和
>动态,禁用编译器检查,在运行时添加方法/属性
虽然那里有很多关于这些的文章,但我发现的并没有把它们放在一起,我不得不承认,它仍然有点模糊.
添加到这个LINQ,lambda表达式,匿名类型,反射……它变得更加不稳定.
我想看一些例子,也许是对比优势/劣势,帮助我巩固对这些概念的把握,并帮助我理解何时,何地以及如何在它们之间进行选择.
谢谢!