C#中“Class”和“Private Class”声明之间的区别是什么?
答案 0 :(得分:8)
如果这些是嵌套类,则没有区别:
namespace Foo
{
public class Outer
{
private class ExplicitlyPrivate {}
class ImplicitlyPrivate {}
}
}
类型成员始终默认为私有。
如果它是顶级类,那么无法将其设为私有 - 但默认为内部:
namespace Foo
{
class ClassIsInternalByDefault {}
}
答案 1 :(得分:4)
如果在未指定辅助功能修饰符的情况下声明类,则默认为可访问性最低。
更实际地,在不允许私有时指定private会导致编译错误。
答案 2 :(得分:1)
一个简单的答案是,私有类旨在保护该类中的属性不被任何外部类更改,除了在构建程序期间。一个普通的"类",好吧,没有这种保护。
这是 ENCAPSULATION 的一种形式。