我有一个接受三个可选参数的方法。
public int DoStuff(int? count = null, bool? isValid = null, string name = "default")
{
//Do Something
}
我的问题是,如果我调用此方法并传递一个方法参数:
var isValid = true;
DoStuff(isValid);
我收到以下错误:
参数1:无法转换为' bool'到' int?'
是否可以传递单个方法参数,并指定我想指定的参数?
答案 0 :(得分:12)
答案 1 :(得分:8)
是的,这是可能的。
DoStuff(isValid: true);
答案 2 :(得分:1)
目前,当您拨打DoStuff(isValid);
位置参数时。所以它试图分配给count
参数,该参数是int(nullable int)类型并抛出错误。
您要找的是named parameter
,在您的情况下,您应该将其称为
DoStuff(isValid:true)
因此,您的方法DoStuff
参数将具有值
count = null
isValid = true
name = "default"