示例#1
0
        public void Bind(IDiResolveContainer container)
        {
            if (binded)
            {
                return;
            }

            binded = true;

            Value = OnBind(container);
        }
示例#2
0
        public void Dispose(IDiResolveContainer container)
        {
            if (!binded)
            {
                return;
            }

            if (Value == null)
            {
                return;
            }

            foreach (IDiBindingAction disposeAction in disposeActions)
            {
                disposeAction.Execute(container, Value);
            }

            disposeActions.Clear();
        }
示例#3
0
 protected abstract object OnBind(IDiResolveContainer container);
 protected override object OnBind(IDiResolveContainer container)
 {
     return(Activator.CreateInstance(ActualType));
 }
示例#5
0
 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);
 }