我想弄清楚这两条规则之间有什么区别?
MergeSequentialChecks
MergeSequentialChecksWhenPossible
文档没有说明第二个. https://www.jetbrains.com/help/resharper/2016.1/MergeSequentialChecks.html
这对我来说不清楚这是什么意思WhenPossible
?
如果ReSharper建议应用第一个规则并合并我的顺序检查,那么确实可能.怎么可能不可能?
这是一个要检查的代码示例.
public class Person
{
public string Name { get; set; }
public IList<Person> Descendants { get; set; }
}
public static class TestReSharper
{
// Here `MergeSequentialChecks` rule is triggered for both `&&` operands.
public static bool MergeSequentialChecks(Person person)
{
return person != null && person.Descendants != null && person.Descendants.FirstOrDefault() != null;
}
// Here `MergeSequentialChecksWhenPossible` rule is triggered.
public static bool MergeSequentialChecksWhenPossible1(Person person)
{
return person != null && …
Run Code Online (Sandbox Code Playgroud)