我FormTemplateGroup
類錯誤並非所有的代碼路徑返回一個值
public class FormTemplateGroup : BaseEntity, IIerarhycal<FormTemplateGroup>
{
public virtual string Name { get; set; }
public virtual bool Active { get; set; }
public virtual FormTemplateGroup Parent { get; set; }
public virtual IList<FormTemplateGroup> Children { get; set; }
}
,我必須使用FormTemplateGroup
類的一些方法
public FormTemplateGroup GetFormTemplateGroup(int id)
{
var formTemplateGroup =
FormTemplateGroupRepository.Query().FirstOrDefault(ftg => ftg.Id == id);
return formTemplateGroup;
}
public FormTemplate GetFormTemplate(int id)
{
var formTemplateGroup = GetFormTemplateGroup(id);
var formTemplate =
FormTemplateRepository.Query().FirstOrDefault(ft => ft.Group.Id == formTemplateGroup.Id);
return formTemplate;
}
public bool checkForChild(IList<FormTemplateGroup> groups)
{
foreach (FormTemplateGroup g in groups)
{
if (GetFormTemplate(g.Id) != null) return false;
if (g.Children.Count > 0)
{
return checkForChild(g.Children);
}
return true;
}
}
但在方法checkForChild
我得到一個錯誤
錯誤1'Arg.BI.BL.Services.Dictionaries.FormTemplateGroupService.checkForChild(System.Collections。 Generic.IList)': 並非所有代碼路徑都返回值 值D:\ svn \ ARG_BI \ Sources \ trunk \ Arg.BI \ Arg.BI.BL \ Services \ Dictionaries \ FormTemplateGroupService.cs 82 21 Arg.BI.BL
如何解決?
通過添加返回條件在checkForChild方法foreach循環之外。 –
在你的'checkForChild'方法中,如果'groups'沒有任何項目會發生什麼?在這種情況下,你也應該返回一些東西! –