什么是私有类?只有私有构造函数,不允许外界实例化的类。除了常用的单例模式,还可以用作类枚举,功能比枚举强大。
public class MyClass{ public static Myclass A=new Myclass("小明","001"); public static Myclass B=new Myclass("小红","002") private string name; private string code; private Myclass(string name,string code){ this.name=name;this.code=code;} public string ToName() { return name.ToString(); } public string ToCode() { return code.ToString(); } } static void Main(string[] args) { Console.Writeline(Myclass.A.ToName()); }
这样就能达到枚举的效果,而且可以添加更多的属性,在代码里,用私有类代替硬编码,如果我们不再输出小明,只需要把A的构造参数换成小青就可以了,特别是代码里很多带路径或者文件名的代码,“D:/” 都没D盘怎么办?你还得到处查找,辨别,替换,多麻烦。代码里尽量少些硬编码,这样利于后期维护。一个产品,初次开发只占30%,后期得维护才是最困难的。