たとえば、シングルトンの基本的な実装を考えると、次のようになります。
private static Foo instance;
private readonly static Object SyncRoot=new Object();
public static Foo Instance {
get {
if(instance!=null)
return instance;
lock(SyncRoot) {
if(instance!=null) {
return instance;
}
instance=new Foo();
return instance;
}
}
}
同じアプリケーションで 2 つの異なるシングルトンを取得する状況はありますか? (リフレクション、実行、同期コンテキスト、appdomain クラス、またはその他の種類の「魔法」を使用した動的 dll ロード?)