3

我有很多用于 ASP MVC 的扩展方法/帮助程序类,它们将控制器名称、操作名称或视图名称作为参数(很像默认的 HtmlHelper 方法)。当您使用其中一种内置的 MVC 方法时,Visual Studio 通常用一条直红线在这些名称下划线,以指示它们与有效的控制器/操作/视图匹配。有没有办法为我自己的方法获得同样的支持?这是一个不错的小功能,但是当我停止使用内置方法时,该功能会慢慢消失。

快速示例:如果已知该视图存在,这将在“SomeViewName”字符串下方有一条直的红线,否则字符串本身将变为红色。

public ActionResult SomeAction()
{
    return View("SomeViewName");
}

这将是我自己的一种方法的示例(它位于与 MVC 站点项目本身不同的库中)

// Example action using method
public ActionResult Show(int id) 
{
    return ViewOrNotFound("Show", id);
}

// Example of the method itself
private ActionResult ViewOrNotFound(string viewName, int id) 
{
    var model = DoSomethingToGetModel();
    if (model != null)
    {
        return new ViewResult { ViewName = viewName };
    }
    else 
    {
        return new HttpNotFoundResult();
    }
}
4

1 回答 1

5

显然,您需要做的就是使用 JetBrains Annotations,因为这是 ReSharper 的一项功能。

public void SomeHelper(this HtmlHelper,[AspMvcController] string controller, [AspMvcAction] string Action, [AspMvcView] string viewName)
{
}
于 2013-03-22T01:10:42.440 回答