PostSharp NotifyPropertyChanged aspect에 문제가 있습니다. 복합 패턴으로 구현 모델 아키텍처가 있습니다. 내 문제는 PropertyChanged가 TaskGroup.PercentDone에 대해 발생하지 않는다는 것입니다.PostSharp NotifyPropertyChanged 설정 Depends.On
Tasks 속성은 List of ITask이므로 TaskGroup 또는 SimpleTask가 될 수 있습니다. SimpleTask는 PercentDone 자동 등록 정보와 PropertyChanged 이벤트를 올바르게 실행합니다.
TaskGroup.PercentDone의 경우 [SafeForDependencyAnalysis]를 사용해야합니다. 사용하지 않으면 컴파일 오류가 발생합니다. 그러나 Depends.On()을 사용하는 방법을 알아낼 수 없습니다.
나는 이러한 많은 솔루션을 시도합니다.
Depends.On(this.Tasks.Sum(task => task.PercentDone));
foreach (var task in this.Tasks)
{
Depends.On(task.PercentDone);
}
Depends.On(this.Tasks);
그러나 나는 추측 할 수 없었다.
class TaskGroup : TaskBase, IComposite<ITaskModel>
{
[SafeForDependencyAnalysis]
public override int PercentDone
{
get
{
//BUG event ProperityChanges is not raised
int percentDone = this.Tasks.Sum(task => task.PercentDone);
return percentDone/this.tasks.Count;
}
set
{
foreach (var task in this.tasks)
{
task.PercentDone = value;
}
}
}
...
}
최신 버전의 PostSharp 4.0.36.0을 사용합니다.
Google에서 비슷한 문제를 찾지 못했습니다.하지만 이것은 아주 일반적인 일이었습니다. 나는 인터넷 검색을 잘못하고 있습니까? 나를 올바른 방향으로 조종 해주십시오. 나는 너의 도움에 대단히 감사한다.