关于OOPS&私人课程

时间:2011-07-21 12:58:54

标签: c# oop

如果我的类是私有的,构造函数是公共的那么会发生什么。我可以创建该类或其他类的实例吗?我只需要知道为什么以及何时人们用公共ctor创建私人课程?

代码

private class LazyResource
{
    SomeBigResource _heavyObject = null;

    public SomeBigResource LazyLoad
    {
        get
        {
            if (_heavyObject == null)
                _heavyObject = new SomeBigResource();
            return _heavyObject;
        }
    }
}

plzz指导我,谢谢

1 个答案:

答案 0 :(得分:3)

您无法在C#中创建非嵌套的私有类。

这几乎可以肯定是一个嵌套类,在这种情况下,只有包含类型才能实例化它的实例。如果LazyResource只有一个私有构造函数,那么任何东西都无法实例化它(LazyResource本身的静态成员除外)。