当方法具有可选参数时,它叫什么

本文关键字:什么 参数 方法 | 更新日期: 2023-09-27 18:33:46

我在类库中有以下方法:

    public virtual void PrintError(Exception e, string verboseMessage)
    {
    }

我想做的是使verboseMessage成为可选的(因此,如果您愿意,可以使用PrintError(e);来调用它。我试图研究这个,但我不知道这个术语是什么 - 这是如何完成的,我应该研究什么?

当方法具有可选参数时,它叫什么

这被称为精确 可选参数

你可以写:

public virtual void PrintError(Exception e, string verboseMessage = null)
{
   //... etc
}

其中可选参数 string verboseMessage 的默认值将为 null ,然后您可以像这样调用该方法:

MyClass.PrintError(someException);

相当于:

MyClass.PrintError(someException, null);

可选参数应在方法声明中设置,如下所示:

public virtual void PrintError(Exception e, string verboseMessage = "defaul value")
{
}

因此,每当您省略第二个参数时,它都会作为default value发送(在我的示例中)。