亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Net Core:解決“添加一種方法來打破此屬性訪問器的遞歸”

Net Core:解決“添加一種方法來打破此屬性訪問器的遞歸”

C#
米琪卡哇伊 2023-09-16 20:17:00
我正在嘗試創建一個簡單的類。ColumnSort 成員是逗號分隔文本“Car,Book,Food”中的項目列表。ColumnSortList 創建一個列表車書食物C# 和 SonarQube 提到了諸如 Error 之類的項目Get:添加一種方法來打破此屬性訪問器的遞歸。Set:在此屬性集訪問器聲明中使用“value”參數我將如何解決這些問題以使警告/錯誤(在 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();            }        }    }
查看完整描述

2 回答

?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

如果columnSortList旨在純粹只讀,從 計算ColumnSort,那么您set根本不應該有方法。所有的邏輯都應該get像這樣:


public IEnumerable<string> columnSortList

{

    get

    {

        if (ColumnSort == null)

        {

            return Enumerable.Empty<string>();

        }

        else

        {

            return ColumnSort.Split(',')

                             .Select(x => x.Trim())

                             .Where(x => !string.IsNullOrWhiteSpace(x))

                             .AsEnumerable();

        }

    }

}


查看完整回答
反對 回復 2023-09-16
?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

你的 getter 正在返回自身,這是你無法做到的,而你的 setter 正在設置自身,這是你也無法做到的。這似乎就是你想要的:


public IEnumerable<string> columnSortList

{

    get

    {

        if (ColumSort == null)

        {

            return new List<string>();

        }

        else

        {

            return ColumnSort.Split(',')

                         .Select(x => x.Trim())

                         .Where(x => !string.IsNullOrWhiteSpace(x))

                         .AsEnumerable();

        }

    }

}


查看完整回答
反對 回復 2023-09-16
  • 2 回答
  • 0 關注
  • 138 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號