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

アクセシビリティ修飾子を指定せずにクラスを宣言すると、デフォルトで可能な限り低いアクセシビリティになります。

より実際的には、privateが許可されていないときにprivateを指定すると、コンパイルエラーが発生する可能性があります。

于 2013-03-02T22:34:40.613 に答える
1

簡単な答えは、プライベートクラスは、プログラムの構築中以外に、そのクラス内の属性が外部クラスによって変更されないように保護することを目的としているということです。通常の「クラス」には、そのような保護はありません。

これはカプセル化の一形態です

于 2013-03-02T23:00:21.117 に答える