簡體   English   中英

將兩個return語句合並為一個

[英]combining two return statements into one

所以我有兩個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方法中返回模型?

如果要返回一個將有關多個事物的信息組合到一個對象中的項目,請為其創建一個類:

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);
};

聲明您的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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM