PageRenderTime 206ms CodeModel.GetById 90ms app.highlight 5ms RepoModel.GetById 106ms app.codeStats 1ms

/src/LinFu.IoC/Configuration/Interfaces/IArgumentResolver.cs

http://github.com/philiplaureano/LinFu
C# | 23 lines | 10 code | 1 blank | 12 comment | 0 complexity | 85db7429d26e152c6ac03840ab914c9f MD5 | raw file
 1using System.Collections.Generic;
 2using LinFu.IoC.Interfaces;
 3
 4namespace LinFu.IoC.Configuration.Interfaces
 5{
 6    /// <summary>
 7    ///     Represents a type that can generate method arguments
 8    ///     from an existing <see cref="IServiceContainer" /> instance.
 9    /// </summary>
10    public interface IArgumentResolver
11    {
12        /// <summary>
13        ///     Generates constructor arguments from the given <paramref name="parameterTypes" />
14        ///     and <paramref name="container" />.
15        /// </summary>
16        /// <param name="parameterTypes">The parameter types for the target method.</param>
17        /// <param name="container">The container that will provide the method arguments.</param>
18        /// <param name="additionalArguments">The additional arguments that will be passed to the target method.</param>
19        /// <returns>An array of objects that represent the arguments to be passed to the target method.</returns>
20        object[] ResolveFrom(IEnumerable<INamedType> parameterTypes, IServiceContainer container,
21            params object[] additionalArguments);
22    }
23}