Является ли проверка состояния действительно избыточной в следующем примере?:
public class MyClass {
public bool MyProperty { get; set; }
public void DoSomething(bool newValue) {
// R# says: redundant condition check before assignment
// on the following line:
if (MyProperty != newValue) { // <======
MyProperty = newValue;
}
}
}
Я знаю, что в любом случае MyProperty
будет установлено значение newValue
, но является ли проверено избыточным?
В Adobe Flex геттер неявно называется VM его запуском при каждом вызове сеттера, даже если не выполняется явная проверка, Конечным результатом является то, что проверка перед назначением приводит к двум проверкам, одному явному и одному неявному, что приводит к избыточной проверке. Что-то подобное происходит в С#?