这段代码无法编译:
internal class Foo {}
public abstract class SomeBaseClass
{
protected internal void ProcessFoo(Foo value)
{
// doing something...
}
}
编译失败,提示如下错误信息:
参数类型 Foo 的访问权限低于 SomeBaseClass.ProcessFoo 方法的访问权限,导致不一致的访问权限。
这段代码无法编译:
internal class Foo {}
public abstract class SomeBaseClass
{
protected internal void ProcessFoo(Foo value)
{
// doing something...
}
}
internal
比protected internal
更不易访问,这意味着是protected
或者internal
。另一个程序集中的类可以从SomeBaseClass
派生并调用ProcessFoo
。要么将ProcessFoo
的可访问性更改为internal
,要么将Foo
的可访问性更改为public
。 - Michael Liu