我的问题与静态方法相对于实例方法的性能特征及其可伸缩性有关。对于此场景,假设所有类定义都在一个程序集中,并且需要多个离散指针类型。
考虑一下:
public sealed class InstanceClass
{
public int DoOperation1(string input)
{
// Some operation.
}
public int DoOperation2(string input)
{
// Some operation.
}
// … more instance methods.
}
public static class StaticClass
{
public static int DoOperation1(string input)
{
// Some operation.
}
public static int DoOperation2(string input)
{
// Some operation.
}
// … more static methods.
}
上面的类表示一个助手样式模式。
在实例类中,解析实例方法需要花费一些时间,与 StaticClass 相反。
我的问题是:
当保持状态不是一个问题(不需要字段或属性)时,使用静态类是否总是更好?
如果有相当数量的这些静态类定义(例如100个,每个都有许多静态方法) ,与相同数量的实例类定义相比,这会对执行性能或内存消耗产生负面影响吗?
当调用同一个实例类中的另一个方法时,是否仍然执行实例解析?例如,在同一个实例的 DoOperation1
中使用像 this.DoOperation2("abc")
这样的[ this ]关键字。