private bool SearchFilter(object sender)
{
    CommDGDataSource item = sender as CommDGDataSource;
    if (FilterPropertyList.IsErrorFilter)
    {
        if (!item.Error)
            return false;
    }
    if (FilterPropertyList.IsDestinationFilter)
    {
        if (!(item.Destination == FilterPropertyList.Destination))
            return false;
    }
    if (FilterPropertyList.IsSourceFilter)
    {
        if (!(item.Source == FilterPropertyList.Source))
            return false;
    }

    return true;
}


上面的代码效果很好,但是我想知道是否还有一种优雅的方式可以编写上面的代码。

最佳答案

您可以通过进行如下较小的更改来使代码更具可读性

private bool SearchFilter(object sender)
{
    CommDGDataSource item = sender as CommDGDataSource;

    if (FilterPropertyList.IsErrorFilter && !item.Error)
        return false;

    if (FilterPropertyList.IsDestinationFilter && item.Destination != FilterPropertyList.Destination)
        return false;

    if (FilterPropertyList.IsSourceFilter && item.Source != FilterPropertyList.Source)
        return false;

    return true;
}

关于c# - 处理这种逻辑的更优雅的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11948956/

10-10 07:38