为什么 C# 没有包私有?
2022-09-03 16:59:20
我正在学习C#,来自Java世界,看到C#没有“包私有”,我有点困惑。我看到的大多数关于此的评论都相当于“你不能这样做;语言不是这样设计的”。我还看到了一些涉及的解决方法,以及评论说这些解决方法与语言的设计背道而驰。internal
partial
为什么 C# 是这样设计的?另外,我该如何做这样的事情:我有一个类和一个类。我想要创建的唯一方法是通过类中的工厂方法。在Java中,我会放入与 相同的包,但使其构造函数仅有权访问它。这样,任何想要创建 a 的人都只能通过类中的 factory 方法执行此操作。如何在C#中完成同样的事情?Product
ProductInstance
ProductInstance
Product
ProductInstance
Product
package private
Product
ProductInstance
Product