无法访问基类中的属性

本文关键字:属性 基类 访问 | 更新日期: 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,但FooClassA中声明。试试这个:

public sealed class ClassB : ClassA
{
    ...
    private void MyFunc()
    {
        var foo = Foo; // or: var foo = base.Foo;
    }
 }