【发布时间】:2014-02-22 19:14:35
【问题描述】:
我有这样的事情:
class Node
{
protected Node Parent
{
get; private set;
}
}
class NodeDerived : Node
{
void SomeMethod()
{
Node parentIterator = this.Parent;
while (parentIterator != null)
{
// ... some logic
parentIterator = parentIterator.Parent; // Here's the error
}
}
}
但由于某些奇怪的原因,我无法访问parentIterator.Parent 属性:
error CS1540: Cannot access protected member `Node.Parent' via a qualifier of type `Node'. The qualifier must be of type `NodeChild' or derived from it
为什么会这样?对了,我还发现虽然我可以访问this.Parent,但我不能访问((Node) this).Parent。
【问题讨论】:
-
@asawyer:不,他正在尝试访问另一个对象的
Parent属性。base在这里帮不上忙。 -
@JonSkeet 嗯,我明白了。我想今天早上需要更多的咖啡。
标签: c# mono access-modifiers