가 나는 TestEvent 클래스가 헬퍼 클래스에 의해 지정된 익명 필터 대표와의 앞쪽 해고되지 않았다. 그러나 내가 그렇게 그것을 구독한다면 :프리즘 CompositeEvent는
eventAggregator.GetEvent<TestEvent>().Subscribe(_ => MessageBox.Show("Hi"), ThreadOption.PublisherThread, false, arg => arg.Equals(3));
그것은 '화재'. 개념적으로는 구문 론적으로나 논리적으로 모두 비슷합니다. 유일한 차이점은 첫 번째 이벤트가 이벤트 클래스에있는 헬퍼 메소드를 사용하여 이벤트에 가입한다는 것입니다.
이것은 가입 호출에서 keepSubscriberAlive = true (세 번째 인수)를 설정하면 첫 번째 함수가 작동하기 때문에 CompositeEvent 클래스가 보관하는 대리자에 대한 약한 참조와 관련된 것입니다. 내가 그 솔루션이 살아남을 것이라는 것을 모르기 때문에 나는 그 솔루션으로 갈 수 없다. 그 행사에 구독 한 수업이 될 것인가? 그렇다면 클래스는 false를 전달하지 않고도 살아있다. 왜 첫 번째 경우에 이벤트가 해고/처리되지 않는 것일까?
누구든지이 동작을 설명 할 수 있습니까?