内部与私人访问修饰符
C#中的internal
和private
修饰符有什么区别?
内部是用于程序集范围(即只能从相同的.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的访问