c#中的内部访问修饰符和私有访问修饰符有什么区别?
当前回答
Internal用于程序集范围(即只能从相同的。exe或。dll中的代码中访问)
Private用于类范围(即只能从同一类中的代码中访问)。
其他回答
下面是解释。你可以点击这个链接了解更多细节 http://www.dotnetbull.com/2013/10/public-protected-private-internal-access-modifier-in-c.html
Private:—私有成员只能在自己的类型(own类)中访问。
Internal:内部成员只能在程序集中通过继承(其派生类型)或通过类的实例访问。
参考:
Dotnetbull - c#中的访问修饰符
私有成员只能在声明它们的类或结构体内部访问。
内部类型或成员只能在同一程序集中的文件中访问
Private -类/作用域/结构等中的封装。
组件的内部封装。
Internal用于程序集范围(即只能从相同的。exe或。dll中的代码中访问)
Private用于类范围(即只能从同一类中的代码中访问)。
内部成员对声明它们的程序集中的所有代码都可见。 (以及使用[InternalsVisibleTo]属性引用的其他程序集)
私有成员仅对声明类可见。(包括嵌套类)
外部(非嵌套)类不能声明为私有的,因为没有包含作用域可以使其为私有的。
为了回答您忘记问的问题,受保护的成员就像私有成员一样,但在继承声明类型的所有类中也是可见的。(但只在至少是当前类类型的表达式上)
推荐文章
- 静态隐式运算符
- 不区分大小写列表搜索
- 'throw'和'throw new Exception()'的区别
- 不能在lambda表达式中使用ref或out参数
- c# int到字节[]
- 如何跟踪log4net问题
- 将WPF组合框绑定到自定义列表
- foreach vs somlist . foreach (){}
- 为什么try{…}最后{…}好;尝试{…} catch{}坏?
- c# 8用多种情况切换表达式,结果相同
- 在没有事件源注册的情况下写入Windows应用程序事件日志
- 并发HashSet<T>在。net框架?
- 从控制器内获得控制器和动作名称?
- _ViewStart的位置和方式。CSHTML布局文件链接?
- 新建T()