静态类vs实例类

Tad*_*ghe 1 c# static state instance

重复

C#方法可以是静态的吗?


如果这个问题看起来很简单,请原谅我 - 我正在查看一些看起来相当不错的源代码,但它提出了一些问题......

如果给定的类没有成员数据 - 即它不维护任何类型的状态,那么将该类标记为静态方法的静态类是否有任何好处?

没有标记不保持静态状态的方法有什么好处吗?

谢谢!

编辑:由于有人提出它,我正在看的代码是用c#编写的.

Meh*_*ari 8

是.我可以想到一些原因:

  1. 易于模拟和单元测试
  2. 易于添加状态
  3. 你可以传递它(作为interface或某事)