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

时间:2013-10-04 03:44:19

标签: c#

我在类库中有以下方法:

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

    }

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

2 个答案:

答案 0 :(得分:3)

这恰好称为Optional arguments

你可以写:

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

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

MyClass.PrintError(someException);

相当于:

MyClass.PrintError(someException, null);

答案 1 :(得分:2)

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

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

}

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