我正在阅读 C#5.0 in a Nutshell ,我发现辅助功能封顶这个概念如下(本书的原始摘录):
有人可以用其他例子来解释我这个概念吗?换句话说,它的用途是什么?
答案 0 :(得分:2)
这本书说,因为没有为C类声明可访问性,所以它被赋予internal
级别作为默认值。
因此,这意味着即使C的Foo方法被标记为public
,它也会被限制在internal
,因为这就是类的级别。
它被限制的原因是让一个类的成员比类本身更容易访问是没有意义的,因为任何需要成员的可访问级别的东西都不会看到它,因为该类将不可用。< / p>
最后一点是说,将属性标记为public
仍然有用,因为如果稍后您创建了类C public
,那么Foo也将是public
(否则你还必须将Foo从internal
改为public
。)
我认为这本书令人困惑,因为它一次解释了两件事,封顶,以及如果你没有在类上声明可访问级别,那么默认情况下它会获得internal
。
恕我直言,如果有更清楚的话
internal class MyClass
{
public void Foo() {}
}
顺便说一句,我也讨厌这个班级被称为C.这个人试图减少印刷成本或其他什么?