DRO*_*ers 1 .net c# optional-parameters
我有一个方法,它采用一个动态类型(可能不相关)的参数和多个类型的多个可选参数.有没有办法指定您传递的参数?
使用这段代码我得到了编译器错误(下面),我想不必编写重载或用可选参数的多个命令重写函数.
码:
public void DoSomeWork()
{
Index<int>(Id, false,"test"); //compiler error
}
private void Index<T>(T o, bool flush = false, bool userDispose = true, string starter = "stop")
{
}
Run Code Online (Sandbox Code Playgroud)
您可以使用名称后跟双点标记可选参数.在你的例子中:
public void DoSomeWork()
{
Index<int>(Id, false, starter: "test");
}
Run Code Online (Sandbox Code Playgroud)
这意味着Id并false命名前两个参数,o并且未设置flush第三个参数userDispose并且参数starter设置为test.
有关命名参数和可选参数的更多信息,请查看MSDN.