代码之家  ›  专栏  ›  技术社区  ›  billb

C#4.0动态办公室互操作性能

  •  6
  • billb  · 技术社区  · 15 年前

    我使用了一个在VisualStudio2008中开发的应用程序,并通过COM互操作使用了各种Office库。我开始使用dynamic关键字和Visual Studio 2010进行一些概念验证开发。我发现使用dynamic比“旧”方式执行相同的任务要慢5-10倍。是否有其他人经历过这种级别的性能下降?这是已知的还是我应该找到报告的方法?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Community CDub    7 年前

    是的,有一个已知的 撞上 dynamic 关键词。这是因为它必须将值框入 object question 以获取更详细的描述。

    最后,在您的例子中,情况会更糟,因为它已经是一个COM对象,所以在COM开销之上装箱和拆箱该对象会被夸大。