1

C# 中的“仅类”声明和“私有类”声明有什么区别?

4

3 回答 3

8

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

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

        class ImplicitlyPrivate {}
    }
}

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

如果它是顶级类,则不能将其设为私有 - 但默认为内部:

namespace Foo
{
    class ClassIsInternalByDefault {}
}
于 2013-03-02T22:35:04.123 回答
4

当您声明一个类而不指定可访问性修饰符时,它将默认为可能的最低可访问性。

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

于 2013-03-02T22:34:40.613 回答
1

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

它是一种封装形式。

于 2013-03-02T23:00:21.117 回答