[英]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.