Бесполезное задание - предупреждение сонара - PullRequest
0 голосов
/ 26 февраля 2020

Ниже приведен фрагмент кода, в котором выдается предупреждение о бесполезном назначении

Agent agentInfo = new Agent();
if (_userProfile.UserType == Constants.AgentUserType)
    return agentInfo = (from agents in _eAppDataAccess.Agents.FindAll()
        where agents.AgentCode == _agentNumber
        select new Agent
        {
            Address1 = agents.Address1,
            Address2 = agents.Address2,
            PhoneNumber = agents.Phone
        }).FirstOrDefault();
else
    return agentInfo;

Ответы [ 2 ]

2 голосов
/ 26 февраля 2020

Вы присваиваете Agent agentInfo = new Agent(), а затем переназначаете его, ничего не делая agentInfo. Вы можете оставить его и вернуть new AgentInfo() в своем предложении else напрямую. Примерно так:

if (_userProfile.UserType == Constants.AgentUserType)
    return (from agents in _eAppDataAccess.Agents.FindAll()
        where agents.AgentCode == _agentNumber
        select new Agent
        {
            Address1 = agents.Address1,
            Address2 = agents.Address2,
            PhoneNumber = agents.Phone
        }).FirstOrDefault();
else
    return new Agent();

Редактировать: CodeCaster указал что-то в комментариях, которые я пропустил. Вы возвращаете null, когда агент не был найден его _agentNumber и new Agent(), когда _userProfile.UserType не относится к типу AgentUserType. Это намеренно?

1 голос
/ 26 февраля 2020

Просто удалите присваивающую переменную agentInfo и верните результат напрямую.

return (from agents in _eAppDataAccess.Agents.FindAll()
                                where agents.AgentCode == _agentNumber
                                select new Agent
                                {
                                    Address1 = agents.Address1,
                                    Address2 = agents.Address2,
                                    PhoneNumber = agents.Phone
                                }).FirstOrDefault();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...