无法访问基类中的属性

时间:2015-05-27 22:23:30

标签: c#

我有以下基类:

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(您是否缺少using指令或程序集引用?)

任何想法可能会发生什么?完全公开,ClassA是由另一个组实施的不同程序集。如果需要,我可以访问代码,但它不是现成的。

1 个答案:

答案 0 :(得分:1)

this引用ClassBFooClassA中声明。试试这个:

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