在我的方法中,它抛出一个错误,我不是真正理解为什么因为我调试时我可以看到有一个值传入。错误消息是历来流行:对象引用未设置为实例一个对象。
private string GetUserName(int selectedUserId)
{
var user = _userService.Get(selectedUserId);
return user == null ? string.Empty : user.FullName;
}
用户服务:
public User Get(int userId)
{
return _userRepository.Get(userId);
}
用户存储库:
public User Get(int userId)
{
return DataContext.Users.SingleOrDefault(u => u.UserId == userId);
}
抛出错误的行是:var user = _userService.Get(selectedUserId);
但是当我调试时 - int selectedUserId在点击该行之前是44。
答案 0 :(得分:2)
嗯,你这里没有给我们足够的信息。
问题不能是int selectedUserId
为null,因为int不能为null。它本身就是一种不可空的类型。
这可能是其他一些问题。什么类型_userService
?它可能是空的吗?在某些情况下,.Get方法会抛出异常吗?
答案 1 :(得分:1)
在调用之前不要忘记实例化_userService。