C# 重拾器自动完成错误?使用lambda scratch参数
我正在使用ReSharper 9.2。示例代码:C# 重拾器自动完成错误?使用lambda scratch参数,c#,lambda,autocomplete,resharper,resharper-9.2,C#,Lambda,Autocomplete,Resharper,Resharper 9.2,我正在使用ReSharper 9.2。示例代码: class Foo { private int _someField; private int _someOtherField; public Foo() { Action<int, int> a = (_, __) => { }; } } class-Foo { 私人国际某地; 私有int_someOtherField; 公共食物( { 动作a=(u,uu)=>{}; } } 只
class Foo
{
private int _someField;
private int _someOtherField;
public Foo()
{
Action<int, int> a = (_, __) => { };
}
}
class-Foo
{
私人国际某地;
私有int_someOtherField;
公共食物(
{
动作a=(u,uu)=>{};
}
}
只要我在“35;”后面键入“,”,R#就决定我必须真正指的是\u someField
,并自动插入它。我在选项>环境>智能感知>“自动完成单个项目”下取消选中了所有三个选项(符号完成、智能完成和导入完成)。但是我怀疑这个特性并不是这个bug的原因,因为有两个字段以\uu
开头,所以建议列表中应该不止一个条目
这也不是因为。
被视为一个神奇的角色;如果我将字段命名为xSomeField
和xSomeOtherField
,并调用scratch变量x
,则得到的结果相同
有什么办法可以防止这种情况发生吗?很自然,我在发帖后几乎马上就自己找到了解决办法。每一个都是一个折衷方案,意味着在其他地方失去一点功能,所以选择你的毒药:
问题似乎是R#没有意识到,在这种情况下,您实际上是在命名一个新变量,而是应用了它的“where value is expected”行为。我通常在选择窗口出现时点击escape来处理这个问题。