Resharper自定义模式var

use*_*698 7 c# resharper var visual-studio

Resharper的代码检查建议在任何地方使用C#而不是显式类型的var.我不喜欢这个选项,因为太多的var会让事情变得不清楚,所以我禁用了那个选项.但是我喜欢使用var的情况是在初始化的情况下,使用泛型的同一行上的类型的两倍(因此在与java 7中的菱形运算符类似的情况下),如:

Dictionary<string string> dic = new Dictionary<string, string>();
// I want a suggestion to replace this to
var dic = new Dictionary<string, string>();
// but I don't want to replace things like this:
Person p = new Person();
Run Code Online (Sandbox Code Playgroud)

我在Resharper中制作了一个自定义模式:

Dictionary<$type1$, $type2$> $id$ = new Dictionary<$type1$, $type2$>();
Run Code Online (Sandbox Code Playgroud)

替换为:

var $id$ = new Dictionary<$type1$, $type2$>();
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,但模式还会找到已使用规则转换的行.为什么以及如何解决这个问题?

编辑:将部分文本设置为粗体,因为没有人看到它.

Pie*_*ers 1

Resharper 对“var”关键字有 2 次代码检查。转至Resharper-> Options...-> Code Inspection->Inspection Severity并将“尽可能使用‘var’关键字”更改为较低的严重性。(注意,在检查严重性屏幕上,您可以在顶部的文本框中搜索单词)

在此输入图像描述