“受保护的内部”范围的目的是啥[重复]

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 表示internalprotected

    该类在同一个程序集中可用。 该类可供从程序集内部或外部继承它的人使用。

通常像这样堆叠修饰符会创建一个联合(意味着受保护和内部),但这次不是这种情况。

【讨论】:

@Teomal:我会说不是 OR,而是 AND。 @Tigran,令您惊讶的是,这正是一个“受保护的 OR 内部”案例(这对于这种修饰符堆叠来说是独一无二的)。由于“内部”声明,AND 关系将限制对同一程序集的访问。 @Teomal:当我说 OR 时,我的意思是或 1 或 2,当我说 And 我的意思是两者一起时。在这种情况下,受保护的内部是内部和受保护的。 SO 可以在程序集内访问,也只能在程序集内从派生类访问。 @Tigran:但那是错误的。它可以是来自任何程序集中的派生类的访问。 看看那篇博文:haacked.com/archive/2007/10/29/…

以上是关于“受保护的内部”范围的目的是啥[重复]的主要内容,如果未能解决你的问题,请参考以下文章

受保护的内部成员 [重复]

受保护的内部[重复]

.Net中受保护的内部意味着啥[重复]

PHP中@的目的是啥[重复]

这个场景中默认关键字的目的是啥[重复]

...this.props.pokemon 的目的是啥,它与 this.props.pokemon 有何不同 [重复]