内部与私人访问修饰符

C#中的internalprivate修饰符有什么区别?

内部是用于程序集范围(即只能从相同的.exe或.dll代码访问)

私人是类范围(即只能从同一类中的代码访问)。

在下面find一个解释。 你可以查看这个链接的更多细节 – http://www.dotnetbull.com/2013/10/public-protected-private-internal-access-modifier-in-c.html

私人: – 私人会员只能在自己的types(自己的类)访问。

内部: – 内部成员只能通过inheritance(派生types)或类的实例在程序集内访问。

在这里输入图像说明

参考:

dotnetbull – 什么是访问修饰符在C#

internal成员对于声明的程序集中的所有代码都是可见的。
(对于使用[InternalsVisibleTo]属性引用的其他程序集)

private成员只对声明类是可见的。 (包括嵌套类)

对于(希望)显而易见的原因,外层(非嵌套)类不能声明为private

为了回答您忘记提问的问题, protected成员就像private成员一样,但是在所有inheritance了声明types的类中都可见。 (但是只能在当前类的至less一个expression式上)

私人 – 在类/范围/结构封装“。

内部封装在程序集中。

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

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

Internal允许你在多个业务逻辑类之间引用一个数据访问静态类(用于线程安全),而不是在连接池中订阅它们inheritance该类/旅程,并最终避免允许DAL类促进公众层面的获取。 这在devise和最佳实践方面有无数的支持。

entity framework充分利用了这种types的访问