无法访问基类中的属性
本文关键字:属性 基类 访问 | 更新日期: 2023-09-27 17:51:03
我有以下基类:
namespace NamespaceA
{
public class ClassA
{
public ClassA();
public MyType Foo { get; }
}
}
和从它派生的类:
using NamespaceA;
namespace NamespaceB
{
public sealed class ClassB : ClassA
{
...
private void MyFunc()
{
var foo = this.Foo;
}
}
}
一切都编译得很好。
当我运行这个时,它在访问this.Foo
时崩溃。如果我在私有方法中放置一个断点,在这行之前,并使用即时窗口检查Foo
,我得到以下内容:
me: Foo Immediate Window: The name 'Foo' does not exist in the current context me: this.Foo Immediate Window: 'NamespaceB.ClassB' does not contain a definition for
Foo
和没有扩展方法Foo
接受类型为Namespace.ClassB
的第一个参数可以找到(您是否缺少使用指令或汇编参考?)
你知道会发生什么吗?完全披露,ClassA
是由另一个组实现的不同的汇编。如果需要,我可以得到代码,但它不是现成的。
this
指的是ClassB
,但Foo
在ClassA
中声明。试试这个:
public sealed class ClassB : ClassA
{
...
private void MyFunc()
{
var foo = Foo; // or: var foo = base.Foo;
}
}