静态方法与实例方法
10.2.5
C#语言规范的静态和实例成员解释了两者之间的区别。通常,静态方法与实例方法相比只能提供很小的性能增强,但是仅在某些极端情况下(有关此问题的更多详细信息,请参见此答案)。
FxCop或代码分析中的规则CA1822指出:
“在[将成员标记为静态]之后,编译器将向这些成员发出非虚拟的调用站点,这将阻止在运行时检查每次调用,以确保当前对象指针为非空。这可以带来可观的性能提升对于性能敏感的代码。在某些情况下,无法访问当前对象实例表示正确性问题。”
实用
程序类除非在您的设计中有意义,否则不要将它们移至实用程序类。如果静态方法与特定类型相关,就像
ToRadians(doubledegrees)方法与表示角度的类相关,则将该方法作为该类型的静态成员存在是有意义的(请注意,出于演示目的,这是一个复杂的示例)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)