如果我在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也真的在与这些元组斗争,并建议大量的格式化打破自己,并且是完全错误的。例如:
建议#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#选项中的哪一部分会阻止它?大多数情况下,第一个对我来说是一个很大的烦恼。
答案 0 :(得分:0)
更新:看起来这已在R#2017或更高版本中修复。