【发布时间】:2019-12-29 06:02:13
【问题描述】:
我正在尝试创建一个简单的类。 ColumnSort 成员是以逗号分隔的文本“Car,Book,Food”中的项目列表。
ColumnSortList 创建一个 List
- 汽车
- 书籍
- 食物
C# 和 SonarQube 提到了诸如错误之类的项目
获取:添加一种方法来打破此属性访问器的递归。
设置:在此属性集访问器声明中使用“值”参数
我将如何解决这些问题以使警告/错误(在 SonarQube 中)消失?也愿意让代码更高效。
注意:columnSortList 纯粹应该是 ColumnSort 字符串中的只读计算字段。
public class PageModel
{
public int Page { get; set; }
public int Limit { get; set; }
public string ColumnSort { get; set; }
public IEnumerable<string> columnSortList
{
get
{
return columnSortList;
}
set
{
if (ColumnSort == null)
{
columnSortList = null;
}
else
{
columnSortList = ColumnSort.Split(',')
.Select(x => x.Trim())
.Where(x => !string.IsNullOrWhiteSpace(x))
.AsEnumerable();
}
}
}
【问题讨论】:
-
您的
columnSortList属性需要一个支持字段。您从内部获取和设置它。 -
嗨@BrianRogers columnSortList 纯粹应该是 ColumnSort 字符串中的只读计算字段,我将如何解决这个问题?谢谢
-
如果它应该是只读的,那么你不应该有一个 set 方法。请参阅下面的答案。
标签: c# linq generics .net-core sonarqube