public void Bind(IDiResolveContainer container) { if (binded) { return; } binded = true; Value = OnBind(container); }
public void Dispose(IDiResolveContainer container) { if (!binded) { return; } if (Value == null) { return; } foreach (IDiBindingAction disposeAction in disposeActions) { disposeAction.Execute(container, Value); } disposeActions.Clear(); }
protected abstract object OnBind(IDiResolveContainer container);
protected override object OnBind(IDiResolveContainer container) { return(Activator.CreateInstance(ActualType)); }
protected override object OnBind(IDiResolveContainer container) { return(func.Invoke(container)); }
public void Execute(IDiResolveContainer resolver, object obj) { action?.Invoke(resolver, obj); }
protected override object OnBind(IDiResolveContainer container) { return(obj); }