如果我的类是私有的,构造函数是公共的那么会发生什么。我可以创建该类或其他类的实例吗?我只需要知道为什么以及何时人们用公共ctor创建私人课程?
代码
private class LazyResource
{
SomeBigResource _heavyObject = null;
public SomeBigResource LazyLoad
{
get
{
if (_heavyObject == null)
_heavyObject = new SomeBigResource();
return _heavyObject;
}
}
}
plzz指导我,谢谢
答案 0 :(得分:3)
您无法在C#中创建非嵌套的私有类。
这几乎可以肯定是一个嵌套类,在这种情况下,只有包含类型才能实例化它的实例。如果LazyResource
只有一个私有构造函数,那么任何东西都无法实例化它(LazyResource
本身的静态成员除外)。