publicclassSingleModel<T>whereT:class,new(){privatestaticT_instance;privatestaticreadonlyObject_lock=newObject();publicstaticTInstance{get{if(_instance==null){lock(_lock){if(_instance==null){_instance=newT();}}}return_instance;}}//stringName1=SingleTon.SingleModel<Test>.Instance.Name;//stringName2=SingleTon.SingleModel<Test1>.Instance.Name;//stringName3=SingleTon.SingleModel<Test2>.Instance.Name;}

不想写了,就贴一段代码吧