如果我考虑单例的基本实现,例如:
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;
}
}
}
有没有什么情况我在同一个应用程序中得到两个不同的单例?(带有反射、执行和同步上下文、appdomain 类或任何其他类型的“魔法”的动态 dll 加载?)