visual studio 提供将 c# 中的表达式主体转换为方法的块主体:IDE0022
visual studio offers to convert Expression-body in c# to block body for method : IDE0022
public ActionResult Edit(int id)
=> Json(_itemMasterBL.GetItemMaster()?.Where(x => x.Id == id).FirstOrDefault(), JsonRequestBehavior.AllowGet);
我将上面的代码作为表达式体方法 (c# 6.0)。
但在 visual studio 2017 快速操作 (ctrl + .) 中提出了以下建议:
IDE0022: 方法使用块体如下:
public ActionResult Edit(int id)
{
return Json(_itemMasterBL.GetItemMaster()?.Where(x => x.Id == id).FirstOrDefault(), JsonRequestBehavior.AllowGet);
}
这个建议是什么意思?它是否建议出于某种原因应该首选此更改?还是只是为了方便提供这种可能性?
在表达式主体和块主体之间进行转换有些繁琐,您可能希望经常这样做。这就是为什么我认为 VS 将它作为一种重构提供,它并不是一个比另一个更好的声明。
public ActionResult Edit(int id)
=> Json(_itemMasterBL.GetItemMaster()?.Where(x => x.Id == id).FirstOrDefault(), JsonRequestBehavior.AllowGet);
我将上面的代码作为表达式体方法 (c# 6.0)。
但在 visual studio 2017 快速操作 (ctrl + .) 中提出了以下建议:
IDE0022: 方法使用块体如下:
public ActionResult Edit(int id)
{
return Json(_itemMasterBL.GetItemMaster()?.Where(x => x.Id == id).FirstOrDefault(), JsonRequestBehavior.AllowGet);
}
这个建议是什么意思?它是否建议出于某种原因应该首选此更改?还是只是为了方便提供这种可能性?
在表达式主体和块主体之间进行转换有些繁琐,您可能希望经常这样做。这就是为什么我认为 VS 将它作为一种重构提供,它并不是一个比另一个更好的声明。