C# で「private」キーワードを書く理由は何ですか? [重複] 質問する

C# で「private」キーワードを書く理由は何ですか? [重複] 質問する

私の知る限り、privateデフォルトはどこにでもpublicC# では (つまり、、、protectedなどを書かない場合は、デフォルトでinternalになりますprivate)。(間違っていたら訂正してください。)

では、そのキーワードを書く理由は何でしょうか。あるいは、メンバーにとってなぜそのキーワードが存在するのでしょうか。

たとえば、イベント ハンドラーが自動生成されると、次のようになります。

private void RatTrap_MouseEnter(object sender, CheeseEventArgs e)
{

}

しかし、それが暗黙的かつデフォルトであるのに、なぜ private と書き込まれるのでしょうか? 初心者の開発者 (それが C# のデフォルトであることを知らない) がそれが private であることを知るためでしょうか? それとも、コンパイラーに違いがあるのでしょうか?

また、「プライベート」と書く場合(単独)意思メンバーのアクセシビリティを変更しますか?

ベストアンサー1

私の知る限り、C# ではどこでも private がデフォルトです (つまり、public、protected、internal などを記述しない場合は、デフォルトで private になります)。(間違っている場合は訂正してください)。

これは正しくありません。名前空間内で定義された型(クラス、構造体、インターフェースなど)は内部デフォルトでは、異なる型のメンバーには異なるデフォルトのアクセス権限があります(インターフェースメンバーのpublicなど)。詳細については、アクセシビリティレベルMSDN で。

また、

では、そのキーワードを書く理由は何でしょうか、あるいはなぜそのキーワードが存在するのでしょうか?

これを明示的に指定すると、型をプライベートにする意図を非常に明確に示すのに役立ちます。これは、時間の経過に伴うコードの保守性の向上に役立ちます。これにより、他の開発者 (または自分自身) が、メンバーがデフォルトでプライベートになっているのか、意図的にプライベートになっているのかなどを知るのに役立ちます。

おすすめ記事