Ошибка CS0029 Невозможно неявно преобразовать тип «Microsoft.AspNetCore.Mvc.ActionResult» в «System.Collections.Generic.List <>» - PullRequest
0 голосов
/ 10 марта 2019

Я пробовал решения, размещенные в переполнении стека, но ни одно из них не сработало.У меня есть метод вызова веб-службы.код выглядит следующим образом, и я продолжаю получать ошибку компилятора.Поэтому я не могу пойти дальше, чтобы проверить, что идет не так.Код выглядит следующим образом:

    public async Task<ActionResult <List<items>>>getitems()
    {          

        HttpClient client = new HttpClient();
        client.BaseAddress = new Uri("https://localhost:5001/");
        client.DefaultRequestHeaders.Accept.Clear();
        client.DefaultRequestHeaders.Accept.Add(
        new MediaTypeWithQualityHeaderValue("application/json"));


        var Res = await client.PostAsJsonAsync("api/sub", ids);
        Res.EnsureSuccessStatusCode();

        if (Res.IsSuccessStatusCode)
        {

            var Response = Res.Content.ReadAsStringAsync().Result;


            var sub = JsonConvert.DeserializeObject<JArray>(Response);

            List<items> item = sub.ToObject<List<items>>();


            return Ok(item);
        }
    }

Затем я вызываю метод из другого класса следующим образом:

    public async Task<List<items>> getService(List<string> ids)
    {
        var IdentificationIdsToOrder = new JObject();
        foreach (var id in ids)
        {
            var newId = new JProperty("ids", id);
            IdentificationIdsToOrder.Add(newId);
        }

        _controller = new getitems();
        var Res = await _controller.getitems();         
        var ItemList = Res.Result;
        return ItemList;

    }
}

Здесь происходит ошибка с возвращаемым значением, и я не могу скомпилировать.Чего мне не хватает?

1 Ответ

1 голос
/ 10 марта 2019

В getService методе вы должны использовать var ItemList = Res.Value; вместо var ItemList = Res.Result;

public async Task<List<items>> getService(List<string> ids)
{
    var IdentificationIdsToOrder = new JObject();
    foreach (var id in ids)
    {
        var newId = new JProperty("ids", id);
        IdentificationIdsToOrder.Add(newId);
    }

    _controller = new getitems();
    var Res = await _controller.getitems();         
    var ItemList = Res.Value;
    return ItemList;

}
...