我有一个像这样的过滤器:
public class Err : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext context)
{
var result = context.Result;
}
}
Run Code Online (Sandbox Code Playgroud)
result是 的一个对象Microsoft.AspNetCore.Mvc.BadRequestObjectResult。它包含 aStatusCode和 a Value,但是当我尝试像这样提取它们时:context.Result.Value,我收到此错误:
错误 CS1061“IActionResult”不包含“Value”的定义,并且找不到接受“IActionResult”类型的第一个参数的可访问扩展方法“Value”。
这很简单 - 属性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
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7487 次 |
| 最近记录: |