public override async Task SetParametersAsync(ParameterView parameters) { var disposables = PropChangeDisposables.ToList(); Dispose(PropChangeDisposables); await base.SetParametersAsync(parameters); foreach (var disposable in disposables) { Disposables.Remove(disposable); } }
protected IDisposable StateHasChanged(IExecutor executor, bool immediate = true) { AddStateChange(executor); if (immediate) { StateHasChanged(); } IDisposable disposable = new ActionDisposable(() => { PostStateChange.Remove(executor); executor.Dispose(); }); PropChangeDisposables.Add(disposable); Disposables.Add(disposable); return(disposable); }