C# MVC项目的干燥原理
我有一个MVC项目,我在整个项目中不断重复以下类型的代码C# MVC项目的干燥原理,c#,refactoring,C#,Refactoring,我有一个MVC项目,我在整个项目中不断重复以下类型的代码 public ActionResult CompleteTask(Guid? id) { if (id.HasValue == false) { return HttpNotFound(); } Task task = _service.GetTask(id.Value); if (task == null)
public ActionResult CompleteTask(Guid? id)
{
if (id.HasValue == false)
{
return HttpNotFound();
}
Task task = _service.GetTask(id.Value);
if (task == null)
{
return HttpNotFound();
}
有可能重构这些空检查吗 第一个检查可以通过正确的布线和。第二个问题可以用自定义模型绑定器解决,这样动作方法签名就变成:
public ActionResult CompleteTask(Task task)
但这需要在您的TaskBinder
中引入一些丑陋之处,因为(据我所知)除了抛出异常然后在基本控制器类中捕获它之外,无法从自定义绑定中终止请求处理