public virtual IComputed <TOut>?TryGetCached(TIn input, IComputed?usedBy) { var result = ComputedRegistry.TryGet(input) as IComputed <TIn, TOut>; if (result != null) { ((IComputedImpl?)usedBy)?.AddUsed((IComputedImpl)result); } return(result); }
protected void Unregister(IComputed <TIn, TOut> computed) => ComputedRegistry.Remove(computed);
protected void Register(IComputed <TIn, TOut> computed) => ComputedRegistry.Store(computed);
public virtual IComputed <TOut>?TryGetCached(TIn input) => ComputedRegistry.TryGet(input) as IComputed <TIn, TOut>;