C#中“Class”和“Private Class”声明的区别是什么?

时间:2013-03-02 22:32:47

标签: c#

C#中“Class”和“Private Class”声明之间的区别是什么?

3 个答案:

答案 0 :(得分:8)

如果这些是嵌套类,则没有区别:

namespace Foo
{
    public class Outer
    {
        private class ExplicitlyPrivate {}

        class ImplicitlyPrivate {}
    }
}

类型成员始终默认为私有。

如果它是顶级类,那么无法将其设为私有 - 但默认为内部:

namespace Foo
{
    class ClassIsInternalByDefault {}
}

答案 1 :(得分:4)

如果在未指定辅助功能修饰符的情况下声明类,则默认为可访问性最低。

更实际地,在不允许私有时指定private会导致编译错误。

答案 2 :(得分:1)

一个简单的答案是,私有类旨在保护该类中的属性不被任何外部类更改,除了在构建程序期间。一个普通的"类",好吧,没有这种保护。

这是 ENCAPSULATION 的一种形式。