53

Java では、クラスがパッケージ内でのみ使用できるようにするパッケージ レベルの保護があります。

C# の名前空間は、多かれ少なかれパッケージのように機能します。ただし、C# には名前空間内のクラスを保護するための保護レベルがありません。

これには特定の理由がありますか?

4

3 に答える 3

2

これには特定の理由がありますか?

ほとんどの場合、パッケージと名前空間の間にいくつかの重要な違いがあるためです

リンクされた質問とここで既に言われていることを簡単にするために: C# の名前空間は、ほとんどの場合、内部と外部の両方でアセンブリの内容を整理するのに役立ちます。Java パッケージは C# アセンブリとの共通点が多く、C# にはアセンブリ レベルに制限するアクセス修飾子internalがあります。

于 2013-08-27T14:34:26.807 に答える