2

特别是关于“SA1126:PrefixCallsCorrectly”规则,它告诉我们使用“this”。实例成员的前缀。

我应该在 Razor 语法中遵循这些规则吗?

例子:

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

或者:

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

你可能会注意到“这个”。在这里无效(我同意)。我想遵循适用于我所有日常代码的规则。

StyleCop 不检查 Razor 文件吗?

4

2 回答 2

2

Well, the usage of the "this" prefix is kind of a personal (which can be argumented) choice.

You can find an interesting discussion on this point here Why does StyleCop recommend prefixing method or property calls with "this"?

By the way, Resharper, for example, has the inverse rule by default (remove "useless" this - meaning useless for the compiler).

But frankly, in a View, I think it's more noise than help.

Other point : use HtmlHelpers like @Html.DisplayTextFor(m => m.Name) in your case, as they're strongly typed, linked to model, take care of null values, etc.

于 2012-05-24T10:57:40.563 回答
1

我应该在 Razor 语法中遵循这些规则吗?

如果您认为值得在 .cs 文件中添加“this”,为什么不将其应用于其他地方的 C# 代码,例如嵌入到 Razor 视图文件中?如果一个@{ }块中有多行 C# 代码怎么办?“这个”会开始看起来更有用吗?(“this”通常是否值得的问题在这里并不特别相关,因为您可能已经标准化了使用它。)

StyleCop 不检查 Razor 文件吗?

不,StyleCop 不检查 Razor 文件。StyleCop 目前包含的唯一解析器是 C# 解析器,它只检查带有“.cs”扩展名的文件。

于 2012-05-24T12:46:35.167 回答