我的应用程序中有很多MDI子项,我想知道如何为它们应用单例模式。我为Singleton
写了一个泛型类(我知道,我省略了锁):
public class Singleton<T> where T: class, new()
{
private static T instance;
public static T Instance
{
get{
if( instance == null ){
instance = Activator.CreateInstance<T>();
}
return instance;
}
}
}
接下来,我提供了一个类,它是我的应用程序中每个表单的模式。
public class FormSingleton: Singleton<Form>{ }
public class ConcreteForm : FormSingleton{}
public class ConcreteForm1 : FormSingleton{}
但我不能覆盖Form
类的任何方法。
有没有办法解决这个问题?也许有一个更好的解决方案,以简单的方式保存这种行为?