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

将常规方法转换为静态方法有什么好处?

  •  4
  • TheVillageIdiot  · 技术社区  · 15 年前

    从问题中可以清楚地看到,如果我将一个普通方法转换为静态方法,我将获得什么收益?

    3 回复  |  直到 15 年前
        1
  •  1
  •   Ian Kemp    15 年前

    除了上面提到的语义原因之外,静态方法通常更快(因为不需要创建一个对象来调用该方法)。它们受到编译时优化的影响,据我所知,clr也对它们进行了一些特殊的优化。

        2
  •  13
  •   Konrad Rudolph    15 年前

    你会变得清晰,因为 static 说明该方法不依赖于对象状态。您还将促进可重用性,因为 静止的 方法可以在更多的上下文中使用(例如,当您没有类的实例时)。

    一般来说,这不是一个获得问题,而是一个语义问题:您的方法依赖于对象状态吗?如果是这样,就不要- 静止的 . 在所有其他情况下,做到这一点 静止的 .

        3
  •  0
  •   Prashant Cholachagudda    15 年前

    静态函数通常用于实用程序,如 ConverThisTypeToThatType() ,并且您可以调用它们,而不需要其类的对象。

    前任: MessageBox.Show("Something");

    在这里 MessageBox 是一个班级 Show 是静态方法,所以我们不需要创建 对话框 打电话 .