C# 基于Url.Content扩展的intellisense

C# 基于Url.Content扩展的intellisense,c#,razor,resharper,intellisense,C#,Razor,Resharper,Intellisense,当使用MVC Razor时,您通常会编写@Url.Content(“~/images/someimage.png”),然后在该字符串上获得intellisense——它不知怎么知道这是一条路径 我为Url.Content()创建了一个扩展方法,但在键入path参数时它没有intellisense 是否有人知道是否有某种属性可以添加到参数中,或者是否有更好的方法(覆盖?)可以插入并更改默认Url.Content的行为 public static string ContentExtended

当使用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;
    }

EDIT:我使用resharper,刚刚意识到这可能是一个resharper特有的功能,而普通VS用户实际上没有。我禁用了Resharper intellisense,只启用了常规VS intellisense,而路径特定的自动完成功能不起作用。因此,这是一个resharper功能,而不是编程问题。您需要提供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获取)


如果您谈论的内容不止这些,在IntelliSense建议可能的值方面,这可能是一个属性…

您需要提供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获取)


如果你说的不止这些,在IntelliSense建议可能的值方面,这可能是一个属性…

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

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

尝试使用静态内容intellsense。

尝试使用静态内容intellsense。

我指的不仅仅是有关参数用途的intellisense帮助,我指的是特定的“路径”intellisense。i、 e.使用上面的例子,在使用Url.Content时,只要键入~/im(如果需要,按CTRL+SPACE),它就会完成键入“~/images/”。它知道这是一条路径。我的意思不仅仅是智能感知帮助了解参数的用途,我是指特定的“路径”智能感知。i、 e.使用上面的例子,在使用Url.Content时,只要键入~/im(如果需要,按CTRL+SPACE),它就会完成键入“~/images/”。它知道这是一条路,太棒了!这正是我所需要的,我将重述一下你们的说明,希望能让其他人更清楚一点:转到:ReSharper→ 选择权→ 代码检查→ 代码注释→ 单击“将默认实现复制到剪贴板”,创建一个新的类文件并将结果粘贴到其中。然后像这样向参数添加属性:publicstaticstringcontentextended(这个UrlHelper UrlHelper,[JetBrains.Annotations.PathReference]stringcontentpath)太棒了!这正是我所需要的,我将重述一下你们的说明,希望能让其他人更清楚一点:转到:ReSharper→ 选择权→ 代码检查→ 代码注释→ 单击“将默认实现复制到剪贴板”,创建一个新的类文件并将结果粘贴到其中。然后向参数添加如下属性:public static string ContentExtended(此UrlHelper UrlHelper[JetBrains.Annotations.PathReference]string contentPath)