Получить значение из ActionResult <object>в ASP. Net Базовом методе API - PullRequest
0 голосов
/ 27 апреля 2020

Я пытаюсь получить значение из ActionResult<object> в методе ASP. NET Core API.

API имеет другой контроллер. Я пытаюсь использовать метод из контроллера B в контроллере A, чтобы вернуть значение результата. Я получаю объект ActionResult от контроллера B. Я могу увидеть значение с помощью отладчика в ResultObject, но как мне получить доступ к значению результата в нем?

public ActionResult<object> getSourceRowCounter(string sourcePath) //Method from Controller A
{
    var result = ControllerB.GetValue($"{sourcePath}.{rowCounterVariableName}");  
    var result2 = result.Value; //null
    var result3 = result.Result; //typ: {Microsoft.AspNetCore.Mvc.OkObjectResult} <-see Value=4 in it with Debugger
    //var result4 = result3.Value; //Error?!
    //var result5 = result3.Content; //Error?!
    //var result6 = result3.?????; //How can i get the Value = 4?
    return Ok(result); //should only return value 4 and not the whole object
}

enter image description here

1 Ответ

0 голосов
/ 27 апреля 2020

Если вы уверены, что это тип OkObjectResult, разыграйте его перед использованием, как показано ниже:

var result3 = (OkObjectResult)result.Result; // <-- Cast is before using it.
var result4 = result3.Value; //<-- Then you'll get no error here.
...