>

결과 중 하나에서 IsEnabled 값이 변경 될 때 관찰하려고합니다 :

SourceList<Models.Result> mySource = new SourceList<Models.Result>();
var isEnabledChangedOperation = mySource.Connect().AutoRefresh(r => r.IsEnabled).Select(_ => TestFunction());

그러나 "r =>r.IsEnabled"에 밑줄이 표시되고 "람다 식을 'TimeSpan 형식으로 변환 할 수 없습니까?'라는 오류가 발생합니다. 델리게이트 유형이 아니기 때문에 "

무슨 일입니까?


  • 답변 # 1

    INotifyPropertyChanged 를 넣지 않았을 가능성이 가장 높습니다  결과 클래스에서.

    추가 할 때까지 샘플 코드와 동일한 오류가 발생했습니다.

  • 답변 # 2

    AutoRefresh() 가없는 솔루션 :

    INotifyPropertyChanged 를 추가하고 구현하려면  또는 ReactiveObject  모형에. 결과 설정 :

    var isEnabledChangedOperation = mySource
      .Connect()
      .WhenPropertyChanged(x => x.IsEnabled)
      .Subscribe(x => TestFunction());
    
    

관련 자료

  • 이전 java - 다른 클래스에서 함수의 진행 상황을 보여주는 방법이 있습니까?
  • 다음 Wrap text in span after string - 문자열 다음에 텍스트를 줄 바꿈 - jquery/javascript 사용