我尝试在ASP.Net Core API方法中从ActionResult获取值。
API具有不同的控制器。我尝试使用控制器A中控制器B的方法来返回其结果值。我从控制器B获取了一个ActionResult对象。我可以在ResultObject中看到带有调试器的值,但是如何访问其中的Result-Value?
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
}
<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS80THBwaS5qcGcifQ==” alt =“在此处输入图像描述”>
如果您确定它是OkObjectResult
类型,则在进行如下操作之前先进行投射:
var result3 = (OkObjectResult)result.Result; // <-- Cast is before using it.
var result4 = result3.Value; //<-- Then you'll get no error here.