指定命名参数

本文关键字:参数 | 更新日期: 2023-09-27 18:12:56

我有一个签名如下的函数

public static void raiseEventtoForm(string message, Color fc, Color bc, int messageType, 
    EventLogEntryType eventType = EventLogEntryType.Information, bool frmSQL = false)
    {
        if(eventType != EventLogEntryType.Information && !frmSQL)
            postEventLog(message, eventType);
        MessageEvent(message, fc, bc, frmSQL);
    }

但是当我尝试调用它并设置它时,我得到一个无效参数通过,我尝试了以下方法。我做错了什么?

ProgramEvents.raiseEventtoFrom("example", Color.Black, Color.White, frmSQL:true);
ProgramEvents.raiseEventtoFrom("example", Color.Black, Color.White, frmSQL:= true);

编辑:错误:No overload接受4个参数

*这是一个/facepalm的情况,我错过了非常明显的

指定命名参数

您没有指定第四个必需的参数:int messageType

int messafeType不是一个可选参数(没有默认设置),所以它不是一个有效的方法调用

只能省略具有默认值的参数。但是你留下的messageType参数没有任何默认值,这就是为什么你得到错误。