0

当您使用 Resharper 8 重构方法并且方法参数不依赖于类的实例变量时,将构造一个静态方法。但是,也可以创建实例方法。

是否出于性能原因创建了静态方法?

TIA。

4

1 回答 1

1

这是正确的。以下是 MSDN 文档对此的说明:

不访问实例数据或调用实例方法的成员可以标记为静态(在 Visual Basic 中为共享)。将方法标记为静态后,编译器将向这些成员发出非虚拟调用站点。发出非虚拟调用站点将阻止在运行时对每个调用进行检查,以确保当前对象指针不为空。这可以为性能敏感的代码实现可衡量的性能增益。在某些情况下,无法访问当前对象实例代表了正确性问题。

来源:http: //msdn.microsoft.com/en-us/library/ms245046.aspx

于 2014-11-09T18:39:13.097 回答