私のアプリケーションには多くの 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
しかし、クラスからメソッドをオーバーライドすることはできません。
この問題を解決する方法はありますか? おそらく、その動作を簡単な方法で維持するためのより良い解決策がありますか?