1

MVC Razorを使用する場合、@ Url.Content( "〜/ images / someimage.png")と書くと、その文字列にインテリセンスが得られます。これは、パスであることをどういうわけか認識しています。

Url.Content()の拡張メソッドを作成しましたが、パスパラメーターを入力してもインテリセンスが得られません。

パラメータに設定できる属性があるかどうか、またはより良い方法(オーバーライド)があるかどうかを誰かが知っていますか?デフォルトの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を使用していますが、これは通常のVSユーザーには実際にはないresharper固有の機能である可能性があることに気づきました。Resharperインテリセンスを無効にし、通常のVSインテリセンスをオンにしただけで、パス固有のオートコンプリートが機能しませんでした。つまり、これはリシャーパー機能であり、プログラミングの問題ではありません。

4

3 に答える 3

5

マット、それはまさに ReSharper の機能です。contentPath パラメーターを PathReferenceAttribute 属性でマークする必要があります。ReSharper → オプション → コード・インスペクション → コード注釈から、その実装をプロジェクトにコピーできます。

于 2012-09-22T18:33:18.673 に答える
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 によって取得) を提供する方法です。

それ以上のことについて話している場合、可能な値を提案する IntelliSense に関して、それは属性である可能性があります...

于 2012-09-22T07:25:10.953 に答える
0

http://mvccontrib.codeplex.com/wikipage?title=T4MVCを試して、静的コンテンツの intellsense を取得してください。

于 2012-09-22T18:47:00.443 に答える