我应该遵循我用Razor语法编写的C#代码的StyleCop规则吗?

时间:2012-05-24 10:44:26

标签: razor stylecop

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

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

示例:

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

或者:

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

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

StyleCop没有检查Razor文件吗?

2 个答案:

答案 0 :(得分:2)

嗯,使用“this”前缀是一种个人(可以论证)的选择。

你可以在这里找到关于这一点的有趣讨论 Why does StyleCop recommend prefixing method or property calls with "this"?

顺便说一句,例如,Resharper默认具有反向规则(删除“无用”,这对编译器来说无用)。

但坦率地说,在一个视图中,我认为它的噪音大于帮助。

其他方面:在你的案例中使用像@Html.DisplayTextFor(m => m.Name)这样的HtmlHelpers,因为它们是强类型的,链接到模型,处理空值等等。

答案 1 :(得分:1)

  

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

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

  

StyleCop没有检查Razor文件吗?

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

相关问题