public virtual void Dispose() { UntypedState.RemoveEventHandler(StateEventKind.All, StateChanged); if (OwnsState && UntypedState is IDisposable d) { d.Dispose(); } }
public virtual ValueTask DisposeAsync() { UntypedState.RemoveEventHandler(StateEventKind.All, StateChanged); if (OwnsState && UntypedState is IDisposable d) { d.Dispose(); } return(ValueTaskExt.CompletedTask); }