目前resharper使用字符串插值(即$"Member: {Member}"
)在C#中生成ToString。
是否可以对其进行修改,以便使用string.Format
代替string.Format("Member: {0}",Member))
答案 0 :(得分:1)
ReSharper>选项>代码检查+检查严重性> C#> "语言使用机会" > "使用字符串插值表达式"。将其更改为"不显示"。
答案 1 :(得分:0)
我在Resharper 2016.1中偶然发现了同样的问题
对我而言,它有助于将插入符号放在字符串连接中的+
运算符上并点击Alt+Enter
。然后它列出了一个重构string.Format的选项。将插入符号放在字符串上不起作用。在这种情况下,该选项将不可用。
这必须是最近的更改,因为我经常出于本地化原因使用该重构。
答案 2 :(得分:-1)
可能值得查看Fody.ToString项目,它可以在使用IL编织构建后自动创建ToString方法的重载:
您的密码:
[ToString]
class TestClass
{
public int Foo { get; set; }
public double Bar { get; set; }
[IgnoreDuringToString]
public string Baz { get; set; }
}
转换为:
class TestClass
{
public int Foo { get; set; }
public double Bar { get; set; }
public string Baz { get; set; }
public override string ToString()
{
return string.Format(
CultureInfo.InvariantCulture,
"{{T: TestClass, Foo: {0}, Bar: {1}}}",
this.Foo,
this.Bar);
}
}
检查出来,正确的节省时间 - https://github.com/Fody/ToString