“受保护的内部”范围的目的是啥[重复]
Posted
技术标签:
【中文标题】“受保护的内部”范围的目的是啥[重复]【英文标题】:what is the purpose of "protected internal" scope [duplicate]“受保护的内部”范围的目的是什么[重复] 【发布时间】:2011-10-07 11:13:00 【问题描述】:可能重复:What is the difference between 'protected' and 'protected internal' ?
我是 C# 新手,一直使用 Java。
现在在学习 C# 中成员的范围时,我遇到了术语“内部”和“受保护的内部”。
在这里我了解到“内部”在同一个程序集中可用,这类似于等效于 Java 编程的“包”级范围。
现在“受保护的内部”说:“我可以在我编写的同一个程序集中以及继承我的人使用”。 那么,“受保护的内部”作用域的目的是什么?
【问题讨论】:
这是为了目的,而不是区别。 IE。解释你将如何使用它以及为什么。 IMO 不是重复的,投票重新开放。 【参考方案1】:protected internal
表示internal
或protected
:
-
该类在同一个程序集中可用。
该类可供从程序集内部或外部继承它的人使用。
通常像这样堆叠修饰符会创建一个联合(意味着受保护和内部),但这次不是这种情况。
【讨论】:
@Teomal:我会说不是 OR,而是 AND。 @Tigran,令您惊讶的是,这正是一个“受保护的 OR 内部”案例(这对于这种修饰符堆叠来说是独一无二的)。由于“内部”声明,AND 关系将限制对同一程序集的访问。 @Teomal:当我说 OR 时,我的意思是或 1 或 2,当我说 And 我的意思是两者一起时。在这种情况下,受保护的内部是内部和受保护的。 SO 可以在程序集内访问,也只能在程序集内从派生类访问。 @Tigran:但那是错误的。它可以是来自任何程序集中的派生类的访问。 看看那篇博文:haacked.com/archive/2007/10/29/…以上是关于“受保护的内部”范围的目的是啥[重复]的主要内容,如果未能解决你的问题,请参考以下文章