c# - 多个可选参数:可以使用不同的顺序吗?
问题描述
我有一个带有 4 个可选参数的方法,我想在我的代码中使用任何可能的组合,只包括第一个和最后一个。
这是一个例子:
public void Method(int a = 5, string b = "foo", bool c = true)
{
...
}
我想这样做:
Method(6, false);
但是,当我尝试仅使用这两个参数时,我得到一个错误,我无法将字符串转换为布尔值。有没有办法在不重载的情况下解决这个问题?我不想使用重载,因为我必须创建大约 15 种具有所有可能组合的方法。
编辑:我不想使用
Method(a: 6, c: false);
因为我觉得这有点烦人。
解决方案
是的你可以!
您只需将参数名称添加到参数中,以指示您将参数传递给哪一个:
Method(a: 6, c: false);
推荐阅读
- javascript - 在函数中获取数组数据
- kubernetes - kubernetes /apis/events.k8s.io/v1beta1 端点中 CPU 使用的可能单位是什么?
- python - 如何使用 PyVista 从列表/数组创建自定义 3D 对象?
- python - 将一个类的多个函数绑定到另一个类的类事件:有更好/更短的方法吗?
- javascript - 使用 axios.get() 制作提交列表时遇到问题
- git - 无法 git push 致命:远程错误:服务未启用
- ios - 尝试插入按钮时出现问题?(斯威夫特用户界面)
- xcode - SwiftUI动态修改TextField格式、字符串模式、掩码
- python - 从 cmd 运行 powershell 命令
- c# - 如何将 ModelExpression 绑定到 ASP.NET Core 中的 ViewComponent?