我有方法,如果操作成功则返回1,如果操作失败则返回0。我正在使用实体框架来执行数据库操作。
public class Employee
{
public int InsertEmployee(Employee employee)
{
//insert code
if(employee.EmployeeId > 0)
{
return 1;
}
else
{
return 0;
}
}
}
重写上面的方法是不错的做法,如下所示。
public enum StatusMessage { Success, Error };
public static class Status
{
public static StatusMessage GetStatus(this int status)
{
if (status > 0)
{
return StatusMessage.Success;
}
else
{
return StatusMessage.Error;
}
}
}
public class Employee
{
public StatusMessage InsertEmployee(Employee employee)
{
//insert code
return employee.EmployeeId.GetStatus()
}
}
请建议我更好地编写上述代码。
提前致谢
答案 0 :(得分:1)
我会返回useCapture
。是/否 - >成功/没有成功
答案 1 :(得分:1)
我实际上会考虑返回void
并在操作失败时抛出异常。
如果您希望返回状态指示符,则应将方法重命名为TryInsertEmployee
。在这种情况下,我只需返回一个bool
来表示成功。问题当然是您无法附加有关操作未成功完成的原因的更多信息。除了例外,你可以。
这两点的原因是:
如果方法无法执行其名称描述的操作,则抛出异常。