并非所有路径都返回一个值:C#

并非所有路径都返回一个值:C#,c#,C#,原谅我,如果这是基本的,我有以下功能 private ReportOption GetReportOptions(int id, DataRow dr) { string reportType = GetValue(dr, "Report Type"); if (reportType == "Single") { GetSingleReportOptions(id, dr); } else {

原谅我,如果这是基本的,我有以下功能

private ReportOption GetReportOptions(int id, DataRow dr)
{
    string reportType = GetValue(dr, "Report Type");
    if (reportType == "Single")
    {
        GetSingleReportOptions(id, dr);               
    }
    else
    {
        GetMultipleReportOptions(id, dr);
    }
}
现在,我的函数
GetSingleReportOptions
GetMultipleReportOptions
都返回类型为
ReportOption
的值

但它还是给了我一个错误

并非所有代码路径都返回值


你能告诉我为什么吗?我应该如何构造此函数或在两个helper函数中进行更改?

方法
GetReportOptions
不会
返回
GetSingleReportOptions
GetMultipleReportOptions
的结果。它只调用这些方法并忽略它们的返回值。用
return
作为两个方法调用的开头,以便此方法将返回这些方法的结果。

您的方法没有return语句,但返回类型不同于void。
在方法的末尾添加一个return语句

您已接近所拥有的内容。只要您的方法
GetSingleReportOptions
GetMultipleReportOptions
返回一个
ReportOption
,您所需要做的就是在方法调用之前添加return,您就应该很好了

private ReportOption GetReportOptions(int id, DataRow dr)
{
    string reportType = GetValue(dr, "Report Type");
    if (reportType == "Single")
    {
        return GetSingleReportOptions(id, dr);               
    }
    else
    {
        return GetMultipleReportOptions(id, dr);
    }
}

你不能在任何地方使用
return
这个词。使用
return
应该可以从技术上解决问题,没有路径返回值……你的答案无助于解释在方法结束时需要返回什么。