所以我有两个return语句,我想将它们组合成一个Get方法。我怎样才能正确地做到这一点:
在我的api控制器中,我有:
public IEnumerable<GroupUsers> Get(int id)
{
return new UserApi().GetUsers(id);
}
这是我的第二个
public int Get()
{
var _brand = TenantManager.GetType(Request.RequestUri);
var _settings = new SettingsService(_brand);
return _settings.GetValueAsInt(UserSettings, 13);
}
如何组合它们以在一种方法中返回两者。另外,如果我想创建一个带有返回结果的viewModel,然后在get方法中返回模型?
答案 0 :(得分:1)
如果要返回一个项目,该项目将单个对象中的多个内容的信息组合在一起,请为其创建一个类:
class GroupAndId {
public IEnumerable<GroupUsers> Users { get; set; }
public int Id { get; set; }
}
现在您可以在return
语句中使用此类:
return new GroupAndId {
Users = new UserApi().GetUsers(id);
Id = _settings.GetValueAsInt(UserSettings, 13);
};
答案 1 :(得分:1)
声明您的ViewModel:
public class YourViewModel
{
public IEnumerable<GroupUsers> GroupUsers { get; set; }
public int someIntValue { get; set; }
}
现在在您的存储库中声明一个方法来使用它:
public YourViewModel GetMethodName(int id)
{
var vm = new YourViewModel();
var _brand = TenantManager.GetType(Request.RequestUri);
var _settings = new SettingsService(_brand);
vm.GroupUsers = UserApi().GetUsers(id);
vm.someIntValue = _settings.GetValueAsInt(UserSettings, 13);
return vm;
}