コード例 #1
0
        private InstanceBox OnMapResolve(Type expectType)
        {
            var e = ObjectFactory.InternalOnMapResolve(MapResolve, this, expectType)
                    ?? ObjectFactory.InternalOnMapResolve(null, this, expectType);

            if (e != null)
            {
                return(e.SingletonMode
                        ? new SingletonInstanceBox(expectType.FullName, e.Callback)
                        : new InstanceBox(expectType.FullName, e.Callback));
            }
            return(null);
        }
コード例 #2
0
        private ICallSite OnMapResolve(Type expectType)
        {
            var e = ObjectFactory.InternalOnMapResolve(MapResolve, this, expectType)
                    ?? ObjectFactory.InternalOnMapResolve(null, this, expectType);

            if (e != null)
            {
                if (e.Callback == null)
                {
                    throw new ArgumentNullException(nameof(e.Callback));
                }
                return(this.CreateCallSite(e.Litetime, () => e.Callback));
            }
            return(null);
        }