为什么所有静态方法/变量都在非静态类中?
问题描述:
我遇到了一个非静态的类,但所有的方法和变量都是静态的。例如:为什么所有静态方法/变量都在非静态类中?
public class Class1 {
private static string String1 = "one";
private static string String2 = "two";
public static void PrintStrings(string str1, string str2)
{
...
所有变量在所有实例中都是静态的,所以没有必要具有单独的类实例。
是否有任何理由创建这样的类?
答
编号使其成为一个静态类。
答
这个类是在.NET 1.x天写回来的吗?静态类直到C#2.0才出现。
答
不,如果类中没有实例成员,那么它应该是静态的。
答
不。有些人没有意识到类本身可以是静态的,所以不要包含在类定义中。这很有用,因为它提供了更好的智能感知选项并确保将来的方法静态添加。
这也隐含地封闭了班级。
在我的经验中,即使使用.NET 2.0或更高版本,许多开发人员也忘记在这样的类上使用该关键字! – 2010-04-28 11:06:41
哎呀,连Visual Studio都忘了!当您开始一个新的控制台应用程序时,请查看“Program”课程! – 2010-04-28 11:10:11