C#重构运算符为

时间:2016-06-17 07:37:19

标签: c# refactoring

我有代码

private IEnumerable<ViewType> GetFilteredList(bool isOnlyChecked, bool IsOnlyUnreaded, bool IsOnlyNotEmpty)
{
    var emptyItems = GetEmptyItems(Data);
    IEnumerable<ViewType> filtered = IsOnlyNotEmpty 
        ? Data
          .Where(key => !emptyItems
              .Any(inner => (inner as View<InformServiceView, InformServiceBriefInfo>).Source.Id == (key as View<InformServiceView, InformServiceBriefInfo>).Source.Id))
          .ToList() 
        : Data;
    filtered = IsOnlyChecked ? GetAllChecked(filtered) : filtered;
    filtered = IsOnlyUnreaded ? GetAllUnReaded(filtered) : filtered;
    filtered = filtered.Where(FullTextSearch.SearchPredicate<ViewType>(FilterString ?? string.Empty));
    return filtered;
}

重构到looong代码行的最佳观察点是什么

IEnumerable<ViewType> filtered = IsOnlyNotEmpty ? Data.Where(key => !emptyItems.Any(inner => (inner as View<InformServiceView, InformServiceBriefInfo>).Source.Id == (key as View<InformServiceView, InformServiceBriefInfo>).Source.Id)).ToList() : Data;

0 个答案:

没有答案