【发布时间】:2012-09-21 14:33:47
【问题描述】:
MSDN 上的 C# 语言参考将“受保护的内部”定义为“访问仅限于当前程序集或从包含类派生的类型”。但是从语义的角度来看,“受保护的内部”对我来说听起来像“受保护的和内部的”,这意味着该成员只能被同一程序集中的那些派生类访问。是否有任何具有相同含义的访问修饰符?
【问题讨论】:
-
这也一直困扰着我。类似的问题:stackoverflow.com/questions/7000871/…
MSDN 上的 C# 语言参考将“受保护的内部”定义为“访问仅限于当前程序集或从包含类派生的类型”。但是从语义的角度来看,“受保护的内部”对我来说听起来像“受保护的和内部的”,这意味着该成员只能被同一程序集中的那些派生类访问。是否有任何具有相同含义的访问修饰符?
【问题讨论】:
C# 没有任何这样的访问修饰符。
但是,CLR 确实支持它,因为 FamANDAssem 访问级别(protected internal 是 FamORAssem)
【讨论】:
不,没有这样的修饰符。 Internal 应该足够了,因为您应该能够从同一程序集中的其他类型中知道什么是合法的,什么是不合法的。
【讨论】:
internal 和 protected 将比internal 更好,仅在方法应带参数的情况下protected 嵌套类类型,特别是如果该受保护类具有内部类型的成员。