如何禁用Resharper覆盖元组名称?

时间:2017-04-16 18:56:42

标签: c# resharper visual-studio-2017

如果我在C#6.0,Visual Studio 2017中创建一个System.ValueTuple,并将名称应用于变量,如下所示:

(int fooA, int fooB) bar = new ValueTuple<int, int>();

当我输入以下内容时:

bar.fooA = ....

Resharper始终将其自动更正为此

bar.Item1 = ....

即使Intellisense向我显示了命名值,我也可以选择它们,如果我手动将其重写为bar.FooA,它仍然可以正常工作。所以resharper根本不知道如何处理这个问题。

Resharper也真的在与这些元组斗争,并建议大量的格式化打破自己,并且是完全错误的。例如:

foobar

建议#1:&#39; int&#39;使我的代码成为这个:

var bar = new ValueTuple<int, int>();
bar.fooA = 1;

这当然意味着第二条线现在已经破碎了。

建议#2:&#39; new&#39;这样做:

(int fooA, int fooB) bar = new ValueTuple<int, int> {Item1 = 1};

这完全违背了命名我的元组值的目的。

任何人都知道Resharper的C#选项中的哪一部分会阻止它?大多数情况下,第一个对我来说是一个很大的烦恼。

1 个答案:

答案 0 :(得分:0)

更新:看起来这已在R#2017或更高版本中修复。