我使用了一个在VisualStudio2008中开发的应用程序,并通过COM互操作使用了各种Office库。我开始使用dynamic关键字和Visual Studio 2010进行一些概念验证开发。我发现使用dynamic比“旧”方式执行相同的任务要慢5-10倍。是否有其他人经历过这种级别的性能下降?这是已知的还是我应该找到报告的方法?
是的,有一个已知的 撞上 dynamic 关键词。这是因为它必须将值框入 object question 以获取更详细的描述。
dynamic
object
最后,在您的例子中,情况会更糟,因为它已经是一个COM对象,所以在COM开销之上装箱和拆箱该对象会被夸大。