为什么 Rider 认为我的控制器方法未被使用?

Why does Rider think my controller methods are unused?

我是 C# 和 Rider 的新手,这对我来说很陌生。

我有一个带有多个映射的控制器 - 只显示第一个,但所有映射的问题都是一样的。

应用程序工作正常,每个单独的端点在 Postman 触发时都按预期工作,但由于某种原因,方法名称显示为灰色,Rider 一直建议删除它们,因为它们“未使用”。

{
[ApiController]
[Route("")]
public class HomeController
{
    private readonly IToDoService _toDoService;

    public HomeController(IToDoService toDoService)
    {
        _toDoService = toDoService;
    }

    [HttpGet("")]
    [HttpGet("/list")]
    public ActionResult<List<ToDo>> ShowTodos()
    {
        var todos = _toDoService.GetAllToDos();
        return todos;
    }

关于如何强制 Rider 识别方法并删除相关警告的任何想法? 提前致谢。

正如其他评论已经指出的,这是静态代码分析的局限性。

但是因为我个人想要一个没有 R# 警告的解决方案,所以我明确地用 [UsedImplicitly] attribute from the JetBrains.Annotations NuGet 包像这样装饰 类(例如控制器)。