我现在有很多对象,它们都是为一个基本对象继承的,而且都非常相似。有没有一个可用的解决方案允许一个创建操作和一个编辑操作,而不需要复制大量相同的代码。
public class PersonBase
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
然后我将从中继承一些对象
Person
比如:
public class SalesPerson : PersonBase
{
public double TotalCommission { get; set; }
}
public class Customer: PersonBase
{
public string Address { get; set; }
}
[HttpPost]
public virtual ActionResult Create(FormCollection collection)
{
var person = new PersonBase();
UpdateModel(person);
if ( Model.IsValid && person.IsValid )
{
// Save to the db
}
return View();
}
现在我可以很容易地复制和修改这个代码,这样我就可以创建一个销售人员和客户,但我将有一个基于PersonBase的大量对象,这将是一个类似的代码,我想避免很多重复。
如何使Create操作对所有类型的人都更通用?