【发布时间】:2017-09-26 19:03:16
【问题描述】:
我是初学者 C# 开发人员,但我忘记了一些事情。 (!ValidateCleared(actionsChecked)) 代码正在抛出并错误操作员!不能应用于 void。不确定如何在此示例中解决此问题。我尝试将其保留为布尔值并使用中断,但操作并没有达到预期的效果。它只检查了一个动作。
protected void btnSubmit_Click(object sender, EventArgs e)
{
ValidateActionSelected();enter code here
ValidateCleared(actionsChecked);
if (!ValidateCleared(actionsChecked))
{
if (String.Equals(ddlActionsAndDocuments.SelectedItem.Text.ToString(), "XXX YYY") || String.Equals(ddlActionsAndDocuments.SelectedItem.Text.ToString(), "XXX ZZZ"))
{
reqEffectiveDate.ErrorMessage = "";
}
if (ddlActionsAndDocuments.SelectedValue == ActionTypes.XXXYYY ||
ddlActionsAndDocuments.SelectedValue == ActionTypes.XXXYYYDenial ||
ddlActionsAndDocuments.SelectedValue == ActionTypes.XXXzzz)
{
ValidateXXXYYY(actionsChecked, ddlActionsAndDocuments.Text);
}
if (ddlActionsAndDocuments.SelectedValue == InsuranceActionTypes.WWW ||
ddlActionsAndDocuments.SelectedValue == InsuranceActionTypes.YYYZZZ ||
ddlActionsAndDocuments.SelectedValue == InsuranceActionTypes.YYYWWW ||
ddlActionsAndDocuments.SelectedValue == InsuranceActionTypes.YYYWaived)
{
ValidateCertificate(actionsChecked, ddlActionsAndDocuments.Text);
}
}
}
private void ValidateCleared(List<xxCaseEntity> actionsChecked)
{
//bool error = false;
foreach (xxCaseEntity ACTIONyy in actionsChecked)
{
if (ACTIONyy.XXStatusCode == 40 || ACTIONyy.XXStatusCode == 45)
{
//error = true;
DisplayErrorMessage("FR Action Cannot Apply to " + ACTIONyy.CaseIdentifier);
actionsChecked.Remove(ACTIONyy);
//break;
}
}
return;
//return error;
}
【问题讨论】:
-
如果你想使用
ValidateCleared(),就好像它返回bool而不是void,试着让它实际返回bool而不是void。更改声明的返回类型,并更改ValidateCleared()中的代码,使其在通过该方法的每个路径中返回 true 或 false。 -
在 ValidateCleared 方法中取消注释您的代码。
-
bool 方法工作正常。但对于其他功能,我需要它返回 void。
-
@TeresaScudder 不,你永远不需要它来返回 void。您可以忽略返回值。
-
如果我需要对返回的值做些什么?
标签: c# void function-calls