我在DataModel.cs类中有以下代码:
public User ValidateUser(string Username, string Password)
{
DataContext db = new DataContext();
var query = from u in db.Users where (u.Username == Username && u.Password == Password) select u;
if (query.Count() != 0)
{
return query.First();
}
else
{
return new User { UserID = -1 };
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个登录类在我的DataModel上调用它,检查用户是否有效.如果用户有效,那么我想在我的登录类中引用该"登录"用户(这就是ValidateUser返回用户对象的原因).
现在,如果该用户不存在或密码错误,我只返回一个空的User对象,其id设置为-1,将其标记为不是真实用户.
这是不好的做法吗?
我该如何处理这个案子?如果ValidateUser刚刚返回一个bool它不会有问题,但因为我还需要对该用户的引用,我不知道如何做到这一点.
IMO,这是不好的做法,因为它是隐含的.如果没有返回任何内容,则该方法应返回null.这是不言自明的.
或者,如果需要像正常情况那样处理完全不同或需要其他信息,您可以考虑抛出异常.
| 归档时间: |
|
| 查看次数: |
367 次 |
| 最近记录: |