方法1
public List<IndentItems> GetIndentsByStatus(string projectAddress, string jobAddress, string currentStatus,string ddlevent)
{
List<IndentItems> indentItems =null;
indentItems = GetIndentFilledInfo(filterdReports, false,null ,ddlevent);
return indentItems;
}
方法2
public List<IndentItems> GetIndentFilledInfo(List<SurveyFeedback> surveyFeedbacks, bool hasupdate, string indentType = null,string ddlevent)
{
}
从Method1我调用第二种方法,在方法2中调用EventID
我会得到数据。但它显示编译器错误消息:
CS1737:可选参数必须出现在所有必需参数之后。
答案 0 :(得分:8)
您需要将可选参数移动到参数列表的末尾:
来自MSDN的:
可选参数在参数列表的末尾定义, 在任何所需参数之后。如果调用者提供参数 它必须提供一系列可选参数中的任何一个 所有前面可选参数的参数。以逗号分隔的差距 在参数列表中不受支持。例如,在下面 代码,实例方法ExampleMethod定义了一个必需和 两个可选参数。
public List<IndentItems> GetIndentFilledInfo(
List<SurveyFeedback> surveyFeedbacks,
bool hasupdate,
string ddlevent,
string indentType = null)
更多阅读Here
答案 1 :(得分:2)
可选参数应该在所有方法参数之后:
public List<IndentItems> GetIndentFilledInfo(
List<SurveyFeedback> surveyFeedbacks,
bool hasupdate,
string ddlevent,
string indentType = null)
{
// Codes here
}