繁体   English   中英

如何通过一种方法填充多种类型的业务对象?

[英]How to fill multiple types of Business Objects from a single method?

我有四个不同的业务对象,每个对象都调用其对应的FillBusinessObject方法,以逐一填充所有单个对象属性。 现在,我希望创建一个通用方法,该方法应该能够填充每种类型的业务对象。 我创建了一个基类,所有业务对象都从该基类继承,但是我无法弄清楚如何从通用方法中填充单个对象的属性。

这可能吗(如果是,那么如何)还是我在梦境世界中?

PS我不希望采用LINQ这样的其他路线。

看起来您太复杂了。

您可以编写一个方法来填充属于通用基类的部分,然后为每种类型调用一个specialize方法。

这样的事情怎么样:

namespace ConsoleApplication1
{
    class Program
    {
        static void Main( string[] args )
        {
            // Create some business objects and ask them to initialize
            // themselves.
            //

            var bo1 = new BusinessObject1();
            var bo2 = new BusinessObject2();

            bo1.Fill();
            bo2.Fill();
        }

        public abstract class BusinessObjectBase
        {
            public int x { get; private set; }

            public virtual void Fill()
            {
                x = 123;
            }
        }

        public class BusinessObject1 : BusinessObjectBase
        {
            public int y { get; private set; }

            public override void Fill()
            {
                // Let base class fill itself.
                base.Fill();

                // Now we fill our own properties.
                this.y = 456;
            }
        }

        public class BusinessObject2 : BusinessObjectBase
        {
            public int z { get; private set; }

            public override void Fill()
            {
                // Let base class fill itself.
                base.Fill();

                // Now we fill our own properties.
                this.z = 456;
            }
        }
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM