我在很多地方使用单例模式,有时构造函数什么也不做,有时候它是初始化事物。 我想知道是否有办法设置一个抽象类来最小化我的代码重复,也就是说,我不需要每个类中只有一个基类的public static readonly Singleton _Instance = new Singleton();
。 我明白接口不是一个选项。C#单例模式
我试过使用以下内容(取自here);
public abstract class Singleton<T> where T : new()
{
static Singleton()
{
}
private static readonly T _Instance = new T();
public static T Instance
{
get { return _Instance; }
}
}
这个问题是,我不能重写构造函数的情况下,我需要初始化的东西。 我试图做甚至可能吗?还是应该继续做我正在做的事情,而不是担心基础单身班?
我建议你停止使用之间的单身清理全局状态。他们使软件更难以测试,并可以在代码库的大部分部分创建依赖关系。 –