为什么我不能继承此变量?

亨利·A。

我收到此代码一个错误:

An object reference is required for the non-static field, method, or property

我正在尝试从派生类继承itemNo变量,以将其放入构造函数中,但是由于某种原因,它不接受它。

完整代码:

public class InvItem
{
    protected int itemNo;
    protected string description;
    protected decimal price;

    public InvItem()
    {
    }

    public InvItem(int itemNo, string description, decimal price)
    {
        this.itemNo = itemNo;
        this.description = description;
        this.price = price;
    }

    public int ItemNo
    {
        get
        {
            return itemNo;
        }
        set
        {
            itemNo = value;
        }
    }

    public string Description
    {
        get
        {
            return description;
        }
        set
        {
            description = value;
        }
    }

    public decimal Price
    {
        get
        {
            return price;
        }
        set
        {
            price = value;
        }
    }

    public virtual string GetDisplayText(string sep)
    {
        return itemNo + sep + description + " (" + price.ToString("c") + ")";
    }
}

public class Plant : InvItem
{
    private decimal size;

    public Plant()
    {
    }

    public Plant(int itemNumber, string description, decimal price, decimal size) : base(itemNo, description, price)
    {
        this.Size = size;
    }

    public decimal Size
    {
        get
        {
            return size;
        }
        set
        {
            size = value;
        }
    }

    public override string GetDisplayText(string sep)
    {
        return base.GetDisplayText(sep) + " (" + size + ")";
    }
}

它发生在带有参数的Plant类构造函数中。我尝试将其设置为公共,私有和受保护,但是它们都产生相同的结果。

布拉德利网

当您调用base构造函数时,这些变量甚至都不存在(尚未构造基类)。

因此,您不能在base构造函数调用中将类成员传递给它相反,您需要:

public Plant(int itemNumber, string description, decimal price, decimal size) : 
    base(itemNumber, description, price)
{
}

这会将提供的参数传递Plant给基类,这正是您想要的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我为什么不能遍历此数组?

来自分类Dev

为什么我不能导入此模块

来自分类Dev

为什么我不能单击此元素?

来自分类Dev

我为什么不能遍历此数组?

来自分类Dev

为什么我不能执行此脚本?

来自分类Dev

为什么我不能在控制器中访问此ng-model变量?

来自分类Dev

为什么我不能取变量的地址?

来自分类Dev

为什么我不能在桌子上继承父母的宽度?

来自分类Dev

Swift 1.2为什么我不能继承任何NSCell的子类?

来自分类Dev

为什么我不能将继承的错误用作SFINAE?

来自分类Dev

为什么我不能在桌子上继承父母的宽度?

来自分类Dev

为什么我不能从多个类继承?

来自分类Dev

为什么不能访问此全局变量?

来自分类Dev

为什么此函数不能正确更新变量?

来自分类Dev

为什么我不能通过课程定位此链接

来自分类Dev

为什么我不能拆分此python列表?

来自分类Dev

为什么我不能渲染此angularJS代码?

来自分类Dev

为什么我不能使用Python加载此页面?

来自分类Dev

为什么我不能在界面中访问此字段?

来自分类Dev

为什么我不能在Yii中更新此模型?

来自分类Dev

为什么我不能解析此double_?

来自分类Dev

为什么我不能安装此软件包?

来自分类Dev

为什么我不能使用npm安装此模块?

来自分类Dev

为什么我不能在netlify中运行此脚本?

来自分类Dev

为什么我不能解析此数据值?

来自分类Dev

为什么我不能安装此软件包?

来自分类Dev

为什么我不能验证此证书链?

来自分类Dev

为什么我不能在Linux上终止此过程?

来自分类Dev

为什么我不能单击此按钮?(输入类型提交)