示例#1
0
        /// <summary>
        /// Resolve.
        /// </summary>
        /// <param name="container">Container.</param>
        /// <param name="interfaceType">Interface type.</param>
        /// <param name="name">Name.</param>
        /// <param name="parameterInjections">Parameter injections.</param>
        /// <param name="propertyInjections">Property injections.</param>
        /// <returns></returns>
        public static object Resolve(
            this IContainer container,
            Type interfaceType,
            string name = null,
            IEnumerable <ParameterInjection> parameterInjections = null)
        {
            var resolutionBuilder = new ResolutionBuilder
            {
                InterfaceType = interfaceType,
                Name          = name,
            };

            if (parameterInjections != null)
            {
                //foreach (ParameterInjection parameterInjection in parameterInjections)
                //    resolutionBuilder.AddParameterInjection(parameterInjection);
            }

            return(container.Resolve(resolutionBuilder));
        }
示例#2
0
        /// <summary>
        /// Resolve.
        /// </summary>
        /// <typeparam name="TInterface">Interface to resolve.</typeparam>
        /// <param name="container">Container.</param>
        /// <param name="name">Name.</param>
        /// <param name="parameterInjections">Parameter injections.</param>
        /// <param name="propertyInjections">Property injections.</param>
        /// <returns>Service.</returns>
        public static TInterface Resolve <TInterface>(
            this IContainer container,
            string name = null,
            IEnumerable <ParameterInjection> parameterInjections = null)
        {
            var resolutionBuilder = new ResolutionBuilder
            {
                InterfaceType = typeof(TInterface),
            };

            if (name != null)
            {
                resolutionBuilder.Name = name;
            }

            if (parameterInjections != null)
            {
                // TODO
                //resolutionBuilder.AddParameterInjections(parameterInjections);
            }

            return((TInterface)container.Resolve(resolutionBuilder.Build()));
        }
示例#3
0
 /// <summary>
 /// Resolve.
 /// </summary>
 /// <param name="container">Container.</param>
 /// <param name="resolutionBuilder">Resolution builder.</param>
 /// <returns>Service.</returns>
 public static object Resolve(this IContainer container, ResolutionBuilder resolutionBuilder)
 {
     return(container.Resolve(resolutionBuilder.Build()));
 }