Asp.net 带有 @ 的 MVC 显示名称属性

本文关键字:显示 属性 MVC net 带有 Asp | 更新日期: 2023-09-27 18:36:32

我为我的 asp.net mvc应用程序使用了resharper来格式化代码,它在DisplayName属性中使用@更改了我的所有代码。我尝试在谷歌中搜索这个以找出@在这里做什么,但我找不到令人满意的搜索结果。可以告诉我显示名称属性中带有和不带@之间的区别。

[DisplayName("Meeting Date")]
[DisplayName(@"Meeting Date")]

Asp.net 带有 @ 的 MVC 显示名称属性

在属性中执行此操作这一事实无关紧要。 在字符串文本前面使用"@"字符称为逐字字符串,并导致忽略任何转义序列,允许您执行以下操作:

var filename = @"C:'Filename.ext"

取而代之的是:

var filename = "C:''Filename.ext"

很多人喜欢这样,因为它更漂亮。 Resharper 喜欢将"@"符号放在字符串文字前面。

我记得 Resharper 建议您将可本地化的字符串移动到资源文件中或逐字显示它们。 在您的情况下,您似乎接受了逐字制作字符串的建议(显式或通过代码清理)。 可以在 Resharper

--> 选项 --> 代码编辑 --> C# --> 上下文操作 --> 转换为逐字字符串"下关闭逐字字符串建议。

实际上,我不确定为什么 ReSharper 会检测到属性构造函数值是可本地化的,因为它们必须是编译时常量,所以它可能是基于其他条件这样做的。 给 support@jetbrains.com 发一封快速的电子邮件应该可以很快为您解决这个问题。

注意:在保留字前面也可以使用"@"符号,以便将其用作变量名,尽管在上面的示例中并非如此:

var @string = "string";