私は C# を学んでおり、Java の世界から来ました。C# には「パッケージ プライベート」がないことに少し戸惑いました。これに関して私が見たほとんどのコメントは、「あなたにはできない。言語はこのように設計されていない」というものです。また、これらの回避策が言語の設計に反するというコメントとともに、internalいくつかの回避策も見ました。partial
C# がこのように設計されたのはなぜですか? また、次のようなことを行うにはどうすればよいですか:ProductクラスとProductInstanceクラスがあります。を作成する唯一の方法は、クラスProductInstanceのファクトリ メソッドを使用することです。Java では、と同じパッケージをProduct入れますが、そのコンストラクターを作成して、そのパッケージにのみアクセスできるようにします。このように、 を作成したい人は、クラスのファクトリ メソッドを介してのみ作成できます。C# で同じことを達成するにはどうすればよいですか?ProductInstanceProductpackage privateProductProductInstanceProduct