là việc kiểm tra tình trạng thực sự dư thừa trong các mẫu sau đây ?:Redundant điều kiện kiểm tra trước khi chuyển nhượng gợi ý cho C# trong Resharper 5
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;
}
}
}
Tôi biết rằng một trong hai cách MyProperty
sẽ được thiết lập để newValue
, nhưng là việc kiểm tra không cần thiết?
Trong Adobe Flex, getter is called implicitly by the VM hoạt động của nó bất cứ khi nào một setter được gọi ngay cả khi không có kiểm tra rõ ràng đang được thực hiện. Kết quả cuối cùng là kiểm tra trước khi một kết quả gán trong hai kiểm tra, một kiểm tra và một ngầm, dẫn đến một kiểm tra dự phòng. Có bất cứ điều gì tương tự xảy ra trong C#?
Trong trường hợp của tôi nó xung quanh một hình thức cửa sổ 'tài sản TopMost' mà không có tác dụng phụ. Điểm rất tốt về các giá trị bất biến. –