网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

.NET如何建构子中传递子对象的对象-创新互联

这篇文章主要介绍.NET如何建构子中传递子对象的对象,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联建站是一家专注于成都网站制作、做网站与策划设计,建邺网站建设哪家好?创新互联建站做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:建邺等地区。建邺做网站价格咨询:18980820575

在设计对象继承的时候,父对象建构子会需要一些参数,这些参数可以由子对象建构子透过base关键词来提供。


复制代码 代码如下:


namespace Test001
{
    public class ParentClass
    {
        // Constructors
        public ParentClass(IEnumerable dataCollection)
        {
            this.DataCollection = dataCollection;
        }

 
        // Properties
        public IEnumerable DataCollection { get; private set; }
    }

    public class ChildClass : ParentClass
    {
        // Constructors
        public ChildClass() : base(new List()) { }
    }
}



但是如果子对象,要使用这个传递给父对象的参数,就需要一点小技巧才能取得了。先来看一开始解决的想法是,先建立子对象的属性对象,然后再传递给父对象。这个方法很快就失败,光是编译就不过了….。对象的建立是先跑建构子、然后生出对象。在建构子的阶段,就要使用对象的属性,一定是失败的。


复制代码 代码如下:


namespace Test002
{
    public class ParentClass
    {
        // Constructors
        public ParentClass(IEnumerable dataCollection)
        {
            this.DataCollection = dataCollection;
        }

 
        // Properties
        public IEnumerable DataCollection { get; private set; }
    }

    public class ChildClass : ParentClass
    {
        // Fields
        private readonly List _dataCollection = new List();

 
        // Constructors
        private ChildClass() : base(_dataCollection) { }
    }
}


.NET如何建构子中传递子对象的对象

想了一下,换个角度去解决这个问题。干脆另外再开一个子对象的建构子,先建立要传给父对象的对象,然后不直接传给父对象的建构子,而是传给子对象自己的建构子,然后这个建构子在传递给父对象。写到我眼睛都花了,好像绕口令….。直接看程序代码吧,其实还蛮简单就可以完成这个小小的设计:


复制代码 代码如下:


namespace Test003
{
    public class ParentClass
    {
        // Constructors
        public ParentClass(IEnumerable dataCollection)
        {
            this.DataCollection = dataCollection;
        }

 
        // Properties
        public IEnumerable DataCollection { get; private set; }
    }

    public class ChildClass : ParentClass
    {
        // Fields
        private readonly List _dataCollection = null;

 
        // Constructors
        public ChildClass() : this(new List()) { }

        private ChildClass(List dataCollection)
            : base(dataCollection)
        {
            _dataCollection = dataCollection;
        }
    }
}


以上是“.NET如何建构子中传递子对象的对象”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


当前标题:.NET如何建构子中传递子对象的对象-创新互联
文章起源:http://bjjierui.cn/article/dhjpgd.html

其他资讯