如何在 .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 这就是为什么你不能有这样的扩展方法。
我必须根据自定义对象的某些 属性 修改 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 这就是为什么你不能有这样的扩展方法。