c# – 分配子对象的基础对象

c# – 分配子对象的基础对象,第1张

概述我有一个基类和一个子类.基类包含一些变量,子包含一些变量. 我需要做的是,当我创建子类的对象时,我在其构造函数中传递基类对象,该构造函数将设置子对象的基类变量. 码: public class BaseClass{ public int BaseInteger; public double BaseDouble; public bool BaseBool;}publ 我有一个基类和一个子类.基类包含一些变量,子包含一些变量.

我需要做的是,当我创建子类的对象时,我在其构造函数中传递基类对象,该构造函数将设置子对象的基类变量.

码:

public class BaseClass{    public int BaseInteger;    public double BaseDouble;    public bool BaseBool;}public class ChildClass : BaseClass{    public ChildClass(BaseClass baseClass)    {        this.base = baseClass;     // I am trying to do this.    }    public int ChildInteger;    public string ChildString;}

那么我在这里尝试做什么是可能的.怎么样?当我尝试这段代码时,我遇到了这个错误.

Use of keyword 'base' is not valID in this context
解决方法 你必须意识到ChildClass不包含BaseClass,而是继承它.

这就是为什么你可以使用this关键字(例如this.BaseInteger)访问基类中定义的数据和方法.

这就是为什么你不能’设置’你的ChildClass的BaseClass,它不包含一个.

然而,有一些有用的模式可以实现您正在尝试的功能,例如:

public class BaseClass{    protected BaseClass() {}    protected BaseClass(BaseClass initData)    {        this.BaseInteger = initData.BaseInteger;        this.BaseDouble = initData.BaseDouble;        this.BaseBool = initData.BaseBool;    }    public int BaseInteger;    public double BaseDouble;    public bool BaseBool;}public class ChildClass : BaseClass{    public ChildClass() {}    public ChildClass(BaseClass baseClass) : base(baseClass)    {    }    public int ChildInteger;    public string ChildString;}

感谢@svick的建议.

总结

以上是内存溢出为你收集整理的c# – 分配子对象的基础对象全部内容,希望文章能够帮你解决c# – 分配子对象的基础对象所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1218264.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存