更高效的我有我的资料库这两种方法:制作控制器,通过选择方法动态
public IEnumerable<Post> Posts
{
get { return context.Posts; }
}
public IEnumerable<Editables> Editables
{
get { return context.Editables;
}
这里是我的方法:
public ActionResult SaveEdit(int activeid,string text, string prop, string REPOMETHOD)
{
var elementToEdit = _repository.<dynamic insert Post or Editable>.ElementAt(activeid);
var type = elementToEdit.GetType();
PropertyInfo p = type.GetProperty(prop);
p.SetValue(elementToEdit, text, null);
_repository.UpdateBigLinkEdit(elementToEdit, activeid);
return null;
}
因此,二有可能使这个methid更动态并插入正确的方法
_repository.Editables.ElementAt(activeid) OR _repository.Post.ElementAt(activeid);
通过从我的视图中传递nethod的名称?或者我必须以另一种方式去做?
有代码共享,减少重复一个好处,但它是在可读性为代价和可维护性。即使你可以得到这个工作,它也会混淆任何必须维护这个代码的人。我的建议是将其分开并将其分开。 – 2014-09-10 18:44:42
@DaveZych如果他有10个或更多的类需要“使用”相同的方法。你认为为每个班级配备一个完整的save-method/if-statements/switch会更好吗? – user3228992 2014-09-10 18:56:29