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