Действительно ли проверка условий избыточна в следующем примере?:
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 геттер неявно вызывается виртуальной машиной , и она запускается всякий раз, когда вызывается сеттер, даже если явная проверка не выполняется. Конечным результатом является то, что проверка перед назначением приводит к двум проверкам, одной явной и одной неявной, что приводит к избыточной проверке. Происходит ли что-нибудь подобное в C #?