속성 값이 변경되면 PropertyChanged를 보내는 여러 클래스가 있습니다. INotifyPropertyChanged에서 파생되는 기본 클래스를 가지며 PropertyChanged 이벤트와 OnPropertyChanged 메서드를 모두 구현합니다.몇 가지 유사한 속성을 리팩토링 할 수 있습니까?
다른 클래스는이 기본 클래스에서 파생 된 다음 모든 속성이 동일한 패턴을 따릅니다. 값을 보유하는 클래스 변수와이 변수를 설정하고 설정자의 OnPropertyChanged를 호출하여이 변수를 읽거나 설정하는 속성이 있습니다.
private int number = 42;
public int Number
{
get { return number; }
set { number = value; OnPropertyChanged("Number"); }
}
이 코드는 어떻게 든 각 속성에 대한 라인의 수를 감소시키기 위해 리팩토링 할 수 있다면 너무 궁금하고 표시하기 시작합니다. 아니면이 6 줄의 코드를 줄이려고 시도하는 것이 과연 과연 (+3 줄의 주석 사양)?
사실 패턴의 "올바른"구현에서 선이 누락되었습니다. 완전한 구현은'if (number == value) return;'을 포함합니다. 이제 그건 방해가 됐습니다. 왜 신경 쓰시죠? 이 코드는 빠르며 반쯤은 괜찮은 IDE에서 한 줄로 줄일 수 있습니다. 삶과 함께 나아가보다 중요한 무엇인가에 대해 걱정하십시오. –