所以我有这个单例模式的代码
public class Foo
{
private static Foo instance;
private Foo() { }
public static Foo Instance
{
get
{
if (instance == null) instance = Activator.CreateInstance<Foo>();
return instance;
}
}
}
这并不起作用,因为Foo的构造函数设置为私有(抛出异常,找不到该类的无参数构造函数)。
当然,传统的new Foo()
在那里可以工作。我知道Activator由于访问限制无法访问Foo的私有构造函数,但是我认为每个对象实例化都是由Activator完成的:那么在这种情况下,为什么Activator不起作用呢?
谢谢!