c#中的内部访问修饰符和私有访问修饰符有什么区别?


当前回答

Internal将允许您在多个业务逻辑类之间引用数据访问静态类(为了线程安全),同时不订阅它们以在连接池中相互继承该类/行程,并最终避免允许DAL类在公共级别上促进访问。这在设计和最佳实践中有无数的支持。

实体框架很好地利用了这种类型的访问

其他回答

私有成员只能在声明它们的类或结构体内部访问。

内部类型或成员只能在同一程序集中的文件中访问

内部成员在程序集中可访问(仅在同一项目中可访问)

私有成员可以在同一个类中访问

初学者示例

一个解决方案中有2个项目(Project1, Project2), Project1有一个对Project2的引用。

在Project2中编写的公共方法将在Project2和Project1中访问 在Project2中编写的内部方法只能在Project2中访问,而不能在Project1中访问 在Project2的class1中编写的private方法只能被同一个类访问。它既不能在项目2的其他类中访问,也不能在项目1中访问。

Internal用于程序集范围(即只能从相同的。exe或。dll中的代码中访问)

Private用于类范围(即只能从同一类中的代码中访问)。

Private -类/作用域/结构等中的封装。

组件的内部封装。

Internal将允许您在多个业务逻辑类之间引用数据访问静态类(为了线程安全),同时不订阅它们以在连接池中相互继承该类/行程,并最终避免允许DAL类在公共级别上促进访问。这在设计和最佳实践中有无数的支持。

实体框架很好地利用了这种类型的访问