我可以理解protected modifier如何对类成员(方法和变量)起作用,但是有人请告诉我Protected类的行为。
例如: -
namespace AssemblyA
{
Protected class ProClass
{
int a=10,b=10;
public int get()
{
return a+b;
}
}
}
任何人都可以解释受保护类的行为方式。
答案 0 :(得分:7)
编写它的方式无法编译。只有嵌套类可以受到保护 - 它们可以被外部类派生的任何类访问,就像其他受保护的成员一样。
class Outer
{
protected class Nested
{
}
}
class Derived : Outer
{
static void Foo()
{
var x = new Outer.Nested(); // Valid
}
}
class NotDerived
{
static void Foo()
{
var x = new Outer.Nested(); // Invalid
}
}
答案 1 :(得分:1)
您将收到错误消息:
命名空间中定义的元素不能显式声明为 私人,受保护或受保护的内部