我必须将大约 10 个类更改为单例,我认为使用 mixins 而不是复制粘贴代码是有意义的,就像这里描述的那样:http: //msdn.microsoft.com/en-us/vstudio/bb625996 .aspx
但是,我不需要那么多额外的方法,而是对类本身进行更多额外的更改,我在应用这些指令时遇到了问题。
我尝试创建一个空接口 ISingleton,然后将单例部分作为扩展添加到新类 public static class Singleton
这是我想使用的单例部分:
public static SomeClass Instance
{
get { return _instance ?? (_instance = new SomeClass ()); }
}
private static SomeClass _instance;
但是当将它添加为扩展时,我遇到了一个问题 - 如何定义 Instance 属性,以便它可以被许多类重用?第二个问题 - 我仍然需要手动将构造函数更改为私有。
这种方法有意义吗?我以前没有使用过 mixins,也许这不适合它?