如何在 .Net 核心 API 控制器中添加扩展方法

How to add extension method in .Net core API controller

我必须根据自定义对象的某些 属性 修改 IActionResult

我正在尝试不同的方式来改变,但都不奏效

public static class ExtensionMethods
{

    public static IActionResult Change(this Controller controller, ExternalResponse obj)
    {
        if (case 1)
        {
            return Ok(extResp);
        }
        else if(case 2)
        {
            return NotFound(extResp);
        }
        else if(case 31)
        {
            return Unauthorized();
        }
        else
        {
            return BadRequest(extResp);
        }   
    }

    public static IActionResult ChangeTwo(this ControllerBase controller, ExternalResponse obj)
    {
        if (case 1)
        {
            return Ok(extResp);
        }
        else if(case 2)
        {
            return NotFound(extResp);
        }
        else if(case 31)
        {
            return Unauthorized();
        }
        else
        {
            return BadRequest(extResp);
        }   
    }
}

请建议我能做什么。

其实问题是不能给抽象class添加扩展方法,这里ControllerBase是抽象class。 Here 这就是为什么你不能有这样的扩展方法。