var stopFyon = new StopFYON();
IEnumerable<CarOnline> carOnlineData = (IEnumerable<CarOnline>)vehrep.GetCarOnlineDetail(maintainStopFactoryOrderNo.VehicleDetail).Result;
if (carOnlineData.Any())
{
stopFyon = vehtran.CreateStopFactoryOrderNo(carOnlineData, maintainStopFactoryOrderNo, lastUpdatedBy);
}
else
{
stopFyon = vehtran.CreateStopFactoryOrderNo(null, maintainStopFactoryOrderNo, lastUpdatedBy);
}
return gen.GetResponse((Int16)ResultCode.Success, (Int16)MsgType.Ok, null, vehrep.StopFactoryOrderNo(stopFyon));
使用声纳代码分析时出现警告错误:
删除这个无用的赋值给局部变量
stopFyon
不要使用var
:
StopFYON stopFyon;
警告的原因是你使用默认构造函数初始化变量(理论上这可能是一个非常昂贵的调用,至少它是令人困惑的)。但是这个任务在所有分支(if
和else
)中都被覆盖了。所以它没用。
如果你在stopFyon
之前使用if
警告也会消失。
消息很简单:
IEnumerable<CarOnline> carOnlineData = (IEnumerable<CarOnline>)vehrep.GetCarOnlineDetail(maintainStopFactoryOrderNo.VehicleDetail).Result;
StopFYON stopFyon;
if (carOnlineData.Any())
stopFyon = vehtran.CreateStopFactoryOrderNo(carOnlineData, maintainStopFactoryOrderNo, lastUpdatedBy);
else
stopFyon = vehtran.CreateStopFactoryOrderNo(null, maintainStopFactoryOrderNo, lastUpdatedBy);
第一项任务:
var stopFyon = new StopFYON();
因为另一个任务在if statement
之后执行是没用的。
它正在工作,当我更改代码StopFYON stopFyon = null
而不是var stopFyon = new StopFYON();