PageRenderTime 222ms CodeModel.GetById 81ms app.highlight 4ms RepoModel.GetById 76ms app.codeStats 1ms

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

http://github.com/philiplaureano/LinFu
C# | 27 lines | 11 code | 1 blank | 15 comment | 0 complexity | 9a62889b795132bc627759f40071d389 MD5 | raw file
 1using System.Collections.Generic;
 2using System.Reflection;
 3using LinFu.IoC.Interfaces;
 4
 5namespace LinFu.IoC.Configuration.Interfaces
 6{
 7    /// <summary>
 8    ///     Represents a class that determines which method best matches the
 9    ///     services currently in the target container.
10    /// </summary>
11    /// <typeparam name="T">The method type to search.</typeparam>
12    public interface IMethodFinder<T>
13        where T : MethodBase
14    {
15        /// <summary>
16        ///     Determines which method best matches the
17        ///     services currently in the target container.
18        /// </summary>
19        /// <param name="items">The list of methods to search.</param>
20        /// <param name="finderContext">The <see cref="IMethodFinderContext" /> that describes the target method.</param>
21        /// <returns>
22        ///     Returns the method with the most resolvable parameters from the target <see cref="IServiceContainer" />
23        ///     instance.
24        /// </returns>
25        T GetBestMatch(IEnumerable<T> items, IMethodFinderContext finderContext);
26    }
27}