【发布时间】:2011-01-11 14:15:06
【问题描述】:
根据我对 this question 的回答,我想检查一下我对 C# 4 即将推出的 dynamic 类型的理解。
在这种情况下,我们有一个集合,它表示从未知数据库表中提取的记录中的字段。较旧的代码(.Net 4 之前的版本)需要这样的集合来保存 Object 类型的项目。除了这样一个集合的优点,我想知道当你将Object 更改为dynamic 时会发生什么。
一方面,我希望由于动态类型的事情都是在运行时解决的,所以只要程序员没有对特定项目的预期类型产生任何错别字或错误,一切都应该没问题集合。
另一方面,我想知道上一句中的“全部”一词。运行时是否会缓存第一次访问动态属性时的结果,导致后续使用不同类型的调用失败?
【问题讨论】: