我有一个带布尔值的函数,如下所示:

public void LoadEndPoints(bool mock)
{

}


我可以通过LoadEndpoints(true)或LoadEndpoints(false)来调用它,但这可能有点难以理解,因为您需要知道true / false代表什么。有没有办法将参数名称和值传递给诸如LoadEndPoints(mock = true)的函数?

最佳答案

是!

您可以像这样指定参数名称:

myObject.LoadEndPoints(mock: true);


进一步阅读


Named and Optional Arguments (C# Programming Guide)


提高代码可读性的另一种方法是使用枚举,如下所示:

public enum LoadOption
{
    Normal,
    Mock
}

public void LoadEndPoints(LoadOption option)
{
    ...
}


然后,调用将看起来像这样:

myObject.LoadEndPoints(LoadOption.Mock);

10-07 18:21