我可以将这两个C#功能合并为一个吗?

Ala*_*an2 2 c# linq function

我有以下内容:

    protected SelectList GetReferenceOptions(string pk)
    {
        var options = new SelectList(_reference.Get(pk)
            .AsEnumerable()
            .OrderBy(o => o.Order), "RowKey", "Value");
        return options;
    }

    protected SelectList GetReferenceOptions(string pk, string value)
    {
        var options = new SelectList(_reference.Get(pk)
            .AsEnumerable()
            .OrderBy(o => o.Order), "RowKey", "Value", value);
        return options;
    }
Run Code Online (Sandbox Code Playgroud)

这看起来像我可以组合成一个但我不知道如何处理参数.有人可以通过解释我如何做到这一点来帮助我吗?

Ian*_*cer 8

如果在您显示的第一个构造函数中将value设置为null,那么这将起作用:

protected SelectList GetReferenceOptions(string pk, string value = null)
{
    var options = new SelectList(_reference.Get(pk)
        .AsEnumerable()
        .OrderBy(o => o.Order), "RowKey", "Value", value);
    return options;
}
Run Code Online (Sandbox Code Playgroud)