Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/28/11 19:12:31 (13 years ago)
Author:
mkommend
Message:

#1454: Implemented TypeDiscovery with multiple base types and adapted TypeSelector and CrossValidation.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.PluginInfrastructure/3.3/Interfaces/IApplicationManager.cs

    r5445 r5850  
    5656    /// </summary>
    5757    /// <param name="type">The type to discover.</param>
     58    /// <param name="onlyInstantiable">Return only types that are instantiable (instance, abstract... are not returned)</param>
    5859    /// <returns>An enumerable of discovered types.</returns>
    59     IEnumerable<Type> GetTypes(Type type);
     60    IEnumerable<Type> GetTypes(Type type, bool onlyInstantiable = true);
    6061
    6162    /// <summary>
    62     /// Discovers all types implementing or inheriting <paramref name="type"/> (directly and indirectly).
     63    /// Discovers all types implementing or inheriting all or any type in <paramref name="types"/> (directly and indirectly).
    6364    /// </summary>
    64     /// <param name="type">The type to discover.</param>
     65    /// <param name="types">The types to discover.</param>
    6566    /// <param name="onlyInstantiable">Return only types that are instantiable (instance, abstract... are not returned)</param>
     67    /// <param name="allTypes">Specifies if discovered types must implement or inherit all given <paramref name="types"/>.</param>
    6668    /// <returns>An enumerable of discovered types.</returns>
    67     IEnumerable<Type> GetTypes(Type type, bool onlyInstantiable);
    68 
    69     /// <summary>
    70     /// Discovers all types implementing or inheriting <paramref name="type"/> (directly and indirectly) that are declaed in any assembly of <paramref name="plugin"/>.
    71     /// </summary>
    72     /// <param name="type">The type to discover.</param>
    73     /// <param name="plugin">The declaring plugin.</param>
    74     /// <returns>An enumerable of discovered types.</returns>
    75     IEnumerable<Type> GetTypes(Type type, IPluginDescription plugin);
     69    IEnumerable<Type> GetTypes(IEnumerable<Type> types, bool onlyInstantiable = true, bool allTypes = true);
    7670
    7771    /// <summary>
     
    8276    /// <param name="onlyInstantiable">Return only types that are instantiable (instance, abstract... are not returned)</param>
    8377    /// <returns>An enumerable of discovered types.</returns>
    84     IEnumerable<Type> GetTypes(Type type, IPluginDescription plugin, bool onlyInstantiable);
     78    IEnumerable<Type> GetTypes(Type type, IPluginDescription plugin, bool onlyInstantiable = true);
     79
     80    /// <summary>
     81    /// Discovers all types implementing or inheriting all or any type in <paramref name="types"/> (directly and indirectly) that are declaed in any assembly of <paramref name="plugin"/>.
     82    /// </summary>
     83    /// <param name="types">The types to discover.</param>
     84    /// <param name="plugin">The declaring plugin.</param>
     85    /// <param name="onlyInstantiable">Return only types that are instantiable (instance, abstract... are not returned)</param>
     86    /// /// <param name="allTypes">Specifies if discovered types must implement or inherit all given <paramref name="types"/>.</param>
     87    /// <returns>An enumerable of discovered types.</returns>
     88    IEnumerable<Type> GetTypes(IEnumerable<Type> types, IPluginDescription plugin, bool onlyInstantiable = true, bool allTypes = true);
    8589
    8690    /// <summary>
Note: See TracChangeset for help on using the changeset viewer.