2

特に、「これ」を使用するように指示する「SA1126: PrefixCallsCorrectly」ルールについて。インスタンス メンバーのプレフィックス。

Razor 構文でこれらの規則に従う必要がありますか?

例:

<span>Name: @this.Model.Name</span>

または:

<span>@this.Html.DisplayFor(m => m.Name)</span>

「これ」だと気づくかもしれません。ここでは効果がありません(同意します)。日常のすべてのコードに適用できるルールに従いたい.

そして、StyleCop は Razor ファイルをチェックしませんか?

4

2 に答える 2

2

さて、「this」プレフィックスの使用法は、一種の個人的な(議論の余地がある)選択です。

この点に関する興味深い議論はここに あります。StyleCopがメソッドまたはプロパティの呼び出しの前に「this」を付けることを推奨するのはなぜですか。

ちなみに、たとえば、Resharperにはデフォルトで逆のルールがあります(これを「役に立たない」から削除します。これはコンパイラにとって役に立たないことを意味します)。

しかし率直に言って、ビューでは、それは助けよりもノイズだと思います。

その他のポイント:HtmlHelpersは@Html.DisplayTextFor(m => m.Name)、強く型付けされている、モデルにリンクされている、null値を処理しているなどの理由で、あなたの場合と同じように使用してください。

于 2012-05-24T10:57:40.563 に答える
1

Razor 構文でこれらの規則に従う必要がありますか?

.cs ファイルに "this" を追加する価値があると判断した場合は、Razor ビュー ファイルに埋め込むなど、他の場所の C# コードにそれを適用しないのはなぜでしょうか? @{ }ブロックに複数行の C# コードがある場合はどうなるでしょうか。「これ」はもっと便利に見えるでしょうか?(「これ」が一般的に価値があるかどうかという問題は、ここでは特に関係ありません。これは、おそらく既に使用が標準化されているためです。)

そして、StyleCop は Razor ファイルをチェックしませんか?

いいえ、StyleCop は Razor ファイルをチェックしません。現在 StyleCop に含まれている唯一のパーサーは C# パーサーで、拡張子が ".cs" のファイルのみを調べます。

于 2012-05-24T12:46:35.167 に答える