关于Url.Content扩展的intellisense

时间:2012-09-22 07:20:05

标签: c# razor resharper intellisense

当使用MVC Razor时,你经常会写@ Url.Content(“〜/ images / someimage.png”),你会在那个字符串上获得intellisense - 它知道它是一条路径。

我为Url.Content()创建了一个扩展方法,但在键入path参数时它没有获得intellisense。

有没有人知道你是否有某种属性可以放在参数上,还是有更好的方式(覆盖?)我可以切入并更改默认的Url.Content的行为?

    public static string ContentExtended(this UrlHelper urlHelper, string contentPath)
    {
        string result = urlHelper.Content(contentPath);

        // do stuff here to remove application folder name on godaddy hosting

        return result;
    }

编辑:我使用resharper,并且意识到这可能是一个特定于resharper的功能,常规的VS用户实际上并没有。我禁用了Resharper intellisense,并且只启用了常规的VS intellisense,并且路径特定的自动完成功能无效。所以这是一个resharper功能,而不是编程问题

3 个答案:

答案 0 :(得分:5)

Matt,这真的是ReSharper的功能。 您需要使用PathReferenceAttribute属性标记contentPath参数。 您可以从ReSharper→选项→代码检查→代码注释中将其实现复制到您的项目中。

答案 1 :(得分:0)

您需要提供XML文档:

/// <summary>
/// Lorem ipsum...
/// </summary>
/// <param name="urlHelper">The helper to provide content to</param>
/// <param name="contentPath">The path to the content</param>

这不仅适用于扩展方法 - 它是您为所有内容提供文档(由IntelliSense选取)的方式。

如果你谈论的不仅仅是这个,那么在智能感知方面建议可能的值, 可能是一个属性......

答案 2 :(得分:0)

试试这个http://mvccontrib.codeplex.com/wikipage?title=T4MVC以获得静态内容intellsense。