从ObjectResult获取价值
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从ObjectResult获取价值相关的知识,希望对你有一定的参考价值。
我有一个像这样的过滤器:
public class Err : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext context)
{
var result = context.Result;
}
}
result
是Microsoft.AspNetCore.Mvc.BadRequestObjectResult
的一个对象。它包含一个StatusCode
和一个Value
,但当我尝试这样提取它们:context.Result.Value
时,我收到此错误:
错误CS1061'IrctionResult'不包含'Value'的定义,并且没有可访问的扩展方法'Value'接受类型'IActionResult'的第一个参数。
答案
这很简单 - Result
的属性ActionExecutedContext
有IActionResult
类型,没有属性Value
。您可以将其投射到BadRequestObjectResult
以获取Value
财产:
public class Err : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext context)
{
var result = context.Result as BadRequestObjectResult;
// you can access result.Value here
}
}
以上是关于从ObjectResult获取价值的主要内容,如果未能解决你的问题,请参考以下文章
EF6 - 无法模拟ObjectResult的返回值 用于单元测试